Extended position reporting with both home and work coordinates. Home position now retained after reset. Other minor changes/fixes.
- Grbl now tracks both home and work (G92) coordinate systems and does live updates when G92 is called. - Rudimentary home and work position status reporting. Works but still under major construction. - Updated the main streaming script. Has a disabled periodic timer for querying status reports, disabled only because the Python timer doesn't consistently restart after the script exits. Add here only for user testing. - Fixed a bug to prevent an endless serial_write loop during status reports. - Refactored the planner variables to make it more clear what they are and make it easier for clear them.
This commit is contained in:
		@@ -68,9 +68,10 @@ typedef struct {
 | 
			
		||||
  uint8_t feed_hold;             // Feed hold flag. Held true during feed hold. Released when ready to resume.
 | 
			
		||||
  uint8_t auto_start;            // Planner auto-start flag. Toggled off during feed hold. Defaulted by settings.
 | 
			
		||||
 | 
			
		||||
  int32_t position[3];           // Real-time machine position vector in steps. This may need to be a volatile
 | 
			
		||||
                                 // variable, if problems arise. Subject to change. Need to add coordinate offset
 | 
			
		||||
                                 // functionality to correctly track part zero and machine zero.
 | 
			
		||||
  int32_t position[3];           // Real-time machine (aka home) position vector in steps. 
 | 
			
		||||
                                 // NOTE: This may need to be a volatile variable, if problems arise. 
 | 
			
		||||
  int32_t coord_offset[3];       // Retains the G92 coordinate offset (work coordinates) relative to
 | 
			
		||||
                                 // machine zero in steps.
 | 
			
		||||
                          
 | 
			
		||||
  volatile uint8_t cycle_start;  // Cycle start flag. Set by stepper subsystem or main program. 
 | 
			
		||||
  volatile uint8_t execute;      // Global system runtime executor bitflag variable. See EXEC bitmasks.
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user