Just FYI, I’ve updated to Ryan’s latest firmware and no issues so far. I ported my personal changes from Configuration.h and Configuration_adv.h but source code is untouched. I’m using specifically Marlin-MPCNC_Ramps_T8_16T_LCD_32step.
These are my personal changes in my Configuration files:
- #define MOTHERBOARD BOARD_SAINSMART_2IN1 because that's the board I'm using
- Enable #define USE_ZMAX_PLUG. I home Z upward and I have a limit switch installed. I don't home X or Y.
- #define X_MIN_ENDSTOP_INVERTING false and #define Y_MIN_ENDSTOP_INVERTING false. I have these set as "normally closed" because I don't have anything installed and I can't figure out how to entirely disable G28 X or Y. If I accidentally try to home X or Y (bad click on GUI for example) I would prefer it to trigger immediately rather than running off the end of my machine.
- #define Z_MIN_PROBE_ENDSTOP_INVERTING false. I have a touch probe that operates normally closed.
- Comment out #define X_DRIVER_TYPE (and all the others) to revert to Marlin default A4988. Not sure it matters as long as steps per mm is correct, but might as well use A4988 in case there's something else I don't know about.
- #define DEFAULT_AXIS_STEPS_PER_UNIT { 100, 100, 400, 100 } because my stepper drivers are 1/16th microstepping.
- Comment out //#define Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN. Even though my touch probe is using the Z-Min connector on the board, leaving this enabled causes problems. I'm guessing this is for overloading Z-min for G28 purposes and Z-probe for bed leveling (maybe). Regardless, this does not work with G38. This was also true in the previous firmware and I think it is a flaw in the Marlin documentation/instructions.
- Enabled #define Z_MIN_PROBE_PIN Z_MIN_PIN. This is where I have my Z-probe connected.
- Enabled #define FIX_MOUNTED_PROBE. My probe doesn't stow (as far as Marlin is aware)
- Enabled #define Z_MIN_PROBE_REPEATABILITY_TEST. I haven't tried it yet with the latest Marlin but it worked before and it's handy.
- Set #define Z_HOME_DIR 1. Like I said, I home Z upward.
- #define Z_MAX_POS 190.
- #define HOMING_FEEDRATE_Z (10*60). Seems to work fine at this speed
- #define NUM_SERVOS 4. I need at least one for the tool changer, and the board supports 4, so might as well enable them all.
- #define SERVO_DELAY { 300, 300, 300, 300 }, needs to be defined for all 4 servos
- #define G38_PROBE_TARGET to enable probing
- #define G38_PROBE_AWAY to enable G38.4 and G38.5. I haven't tried these yet, and I'm not sure when I would use them, but might as well enable. Why not?