Update to Marlin 2.2.1

I just flashed my firmware with Marlin 2.2.1 downloaded from the V1 site for Rambo. 515D shows on the splash screen.

Working thru the startup issues.

  1. It seems to want to move to a location when Z homing. I think this is related to having Z_SAFE_HOMING enabled which seems to be required (I get a build failure if it is not). Is there a way to avoid that motion? It appears to be moving to the center of the extents from where it thinks XY zero is. I have the following enabled as well.
    :
    Z_MIN_PROBE_USES_Z_MIN_ENDSTOP_PIN
    USE_PROBE_Z_HOMING
    NOZZLE_AS_PROBE
    NOZZLE_TO_PROBE_OFFSETS (0,0,-0.92)

  2. Was there a pin out definition change between Marlin versions. My joystick pins seem to have moved around based on the original definition I used from Joystick managed by Marlin I fixed it but curious if it changed.

  3. I noticed the menus are different, particularly the configuration menu. Is there a way to add or remove items (pipe dream?)?

  4. When homing, the old FW had a bump out from the switches (like 2 or 3 mm). This version does not seem to have one or it is very short. I cannot seem to find the correct setting for it in the config.

Thanks! Dave

I’ll keep it vague becuase I do not know what board or screen you are using.

Not by default. How are you Z homing?

Not sure I have not kept track of the joystick edits. I did not change anything.

3- Yes, I have added custom things and you can add more.

4- I do have bumps. Something is up with your firmware.

Apologies. I should have come back here and updated the post. I stayed up very late that night and got thru these issues. Thanks for the reply :slight_smile: I am always amazed at your dedication . I am using a Rambo 1.4 with a reprap display.

  1. I am z-homing using a simple contact probe (like the one you have for sale) tied to Z_Min endstop. I had to google this one. If you define a z-probe it appears the firmware requires Z_SAFE_HOMING enable. To eliminate the failure warning I had to comment out the line it tells you about when building, which is located in warnings.cpp (line 719), see below. Works as before now (FWIW my old firmware was 2.0.x 414D which does not have the same set up).
   #if HOMING_Z_WITH_PROBE && IS_CARTESIAN && DISABLED(Z_SAFE_HOMING)
   //  #error "Z_SAFE_HOMING is recommended when homing with a probe. Enable Z_SAFE_HOMING or comment out this line to continue."
   #endif
  1. False alarm on this one. Looking back I found a reference in an old notebook that indicated the pin outs I had originally used did not match what the Joystick link showed to use for Rambo. Not sure why that is unless I mis-wired my pendant back when I built it and did not note it or correct. Regardless, I am all set on this. Glad to see that the joystick now respects the software endstops though. No more oops crashing.

  2. This was a weird one but also worked itself out by the end of the night after multiple re-flashes and power cycles. The only reason I even looked at that menu (ADVANCED SETTINGS) was the steps/mm issue I have in another thread. Initially that menu only had two items listed. The rest were MIA but showed up in the end.

  3. The bump outs for the XY end stops and the Z homing bump up needed lines un-commented in the configs. Z_AFTER_PROBING (in configuration.h) & HOMING_BACKOFF_POST_MM (in configuration_adv.h). (Z_AFTER_PROBING shows up twice and only the second instance works).

Related question in the firmware. I replied earlier that in order to get the bump out from the zero point on the XY endstops (so it isn’t sitting with the switches pressed), I used

#define HOMING_BACKOFF_POST_MM { 2, 2, 2 }

This works as intended except that it leaves the XY positions at 2, 2 . Is there another setting that creates the same effect, but leaves the XY position as 0, 0 after homing. I could be mistaken but that was how the old firmware behaved (2.0.x 414D). The online documentation for Marlin does not describe the HOMING_BACKOFF_POST_MM setting at all and still shows the old one in the example. I know I can not use the above setting and use M666 to define the offset to accomplish the same thing, but it is not persistent thru power cycles or reflashes.

I don’t fully follow your issue, but a couple of comments:

but it is not persistent thru power cycles or reflashes.

If you make firmware changes using g-code, you need to execute an M500 to save the change.

This works as intended except that it leaves the XY positions at 2, 2 …

The way this is typically solved with a touch plate is to add an additional line of g-code to set the position. You could also do this with your XY homing

G92 X0 Y0

If you are using the V1 custom menu, you can add this in the custom menu section of configuration_adv.h. If you are using Repeteir-host, you can program a custom button.

To maybe clarify. I was running an older firmware version and it operated such that G28 X Y would home and after it touched off for zero it would then pull out slightly (not sure it was 2mm), and would leave the X Y at 0 0 for that position. The new firmware version has dropped what I think was the setting that did that, and replaced it with the one I show above but I think it works differently. If I try the old one the compiler reports it was replaced. Anyway, the end result is that it leaves the X Y at whatever value it is set to. So basically I am trying to get back that old functionality so I do not have to add it to the gcode when I run. I will if that is the only way now.

I can use M206 X-2 Y-2 and save that to the EEPROM with M500. That does what I want. I was just hoping to find a way to make it part of the firmware flashing so I do not have to remember if I re-flash or lose the stored EEPROM settings. It looks like EEPROM is not re-written but still.

Just out of curiosity, why do you care that the position reads at (0,0) instead of (2,2)?

Good point. To be honest, I don’t really know. When I home it seems like it should be at 0, 0. I am not sure how it would effect me in any manor otherwise if I left it at 2, 2. I do know I do not want it ever sitting with the switches pressed and the 2, 2 achieves that. When running a job, I usually jog off to a spot, run G92 X Y, and the start. So maybe I am overthinking.

I do not want it ever sitting with the switches pressed

I can see why you might take that precaution, and I wondered if there was an issue. So, I searched out the datasheets for a variety of limit switches. All had rated a mechanical rating between 1,000,000 and 10,000,000 cycles. That does not answer the specific question about leaving them pressed, but it does indicate they are robust.

To be honest, I don’t really know

I have read about a setup where it would potentially make a difference. He placed the origin point of his fences at the home of his machine, so that when he puts stock against the fences, home would place the bit directly over the bottom left corner of his stock. But given that you are using a G92, making this correction won’t matter.

1 Like