code changes to implement G38 commands
1) modified 3 code files Marlin.h Marlin_main.cpp endstops.cpp 2) modified config files so I could test on my machine Testing was done on an AzteegX3pro based machine. The probe was hooked to the Z_MIN endstop. My controller doesn't have a dedicated Z_PROBE input so I couldn't test that functionality. Verified that a large file (without any G38 commands) executed the same before and after the changes. Verified that the head moves as expected when G38.2 and G38.3 commands are issued. Single & multiple axis moves were tested along with + and - directions. Code was added to the main ISR. In normal operation only one extra IF statement is evaluated. I didn't notice any performance degradation because of the added code. The G38 commands are expected to be issued manually by the operator during machine setup. The G38 commands wait until the machine is idle before proceeding. That way the other commands are minimally impacted by the extra ISR overhead when a G38 command is in the queue. The G38 commands are very similar to the G28 commands except 1) only the Z_PROBE is used and movement can be in the + or - direction. See issue 4677 for a discussion on adding G38 commands to Marlin. Feature request: add ability to use G38.2 command (CNC) MarlinFirmware/Marlin#4677
This commit is contained in:
committed by
Scott Lahteine
parent
74d048e77e
commit
2911aa7ffa
@ -244,16 +244,16 @@
|
||||
// Dual Y Steppers
|
||||
// Uncomment this option to drive two Y axis motors.
|
||||
// The next unused E driver will be assigned to the second Y stepper.
|
||||
//#define Y_DUAL_STEPPER_DRIVERS
|
||||
#define Y_DUAL_STEPPER_DRIVERS
|
||||
#if ENABLED(Y_DUAL_STEPPER_DRIVERS)
|
||||
// Set true if the two Y motors need to rotate in opposite directions
|
||||
#define INVERT_Y2_VS_Y_DIR true
|
||||
#define INVERT_Y2_VS_Y_DIR false
|
||||
#endif
|
||||
|
||||
// A single Z stepper driver is usually used to drive 2 stepper motors.
|
||||
// Uncomment this option to use a separate stepper driver for each Z axis motor.
|
||||
// The next unused E driver will be assigned to the second Z stepper.
|
||||
//#define Z_DUAL_STEPPER_DRIVERS
|
||||
#define Z_DUAL_STEPPER_DRIVERS
|
||||
|
||||
#if ENABLED(Z_DUAL_STEPPER_DRIVERS)
|
||||
|
||||
|
Reference in New Issue
Block a user