MarlinFirmware / Marlin

Marlin is an optimized firmware for RepRap 3D printers based on the Arduino platform. Many commercial 3D printers come with Marlin installed. Check with your vendor if you need source code for your specific machine.
https://marlinfw.org
GNU General Public License v3.0
16.23k stars 19.22k forks source link

[BUG] Cannot use BED_TRAMMING_USE_PROBE and NOZZLE_TO_PROBE_OFFSET at the same time #26184

Closed ADeliciousMan closed 1 year ago

ADeliciousMan commented 1 year ago

Did you test the latest bugfix-2.1.x code?

Yes, and the problem still exists.

Bug Description

Unable to use BED_TRAMMING_USE_PROBE and NOZZLE_TO_PROBE_OFFSET at the same time, not sure if this is intended behavior.

Bug Timeline

Just noticed it, but no previous experience with Marlin either

Expected behavior

I accepted to be able to have Tramming use the bed, while also having the nozzle offset after a homing.

Actual behavior

No response

Steps to Reproduce

Turn on NOZZLE_TO_PROBE_OFFSET and BED_TRAMMING_USE_PROBE

Version of Marlin Firmware

2.1.2.1

Printer model

Ender 3 4.3.7 Board

Electronics

4.3.7 Board

Add-ons

CR Touch

Bed Leveling

UBL Bilinear mesh

Your Slicer

Cura

Host Software

SD Card (headless)

Don't forget to include

Additional information & file uploads

configs.zip

ellensp commented 1 year ago

The error is

Marlin/src/lcd/menu/menu_bed_corners.cpp:157:79: error: static assertion failed: BED_TRAMMING_INSET_LFRB right inset is not reachable with the default NOZZLE_TO_PROBE offset and PROBING_MARGIN.

The error is a deliberate error to stop you configuring your machine with impossible settings

In Your Configuration files you have set

#define NOZZLE_TO_PROBE_OFFSET { -44, -7, 0 }
#define BED_TRAMMING_INSET_LFRB { 30, 30, 30, 30 } // (mm) Left, Front, Right, Back insets
#define X_MAX_POS X_BED_SIZE

Your configuration has told marlin that the furthermost right position it can probe is 44 mm from the right edge, 30 is outside of that area.

You need #define BED_TRAMMING_INSET_LFRB { 30, 30, 44, 30 }

If you can actually probe at X_BED_SIZE-30 (235-30 = ie X205) Then your max position is incorrect

Currently you have #define X_MAX_POS X_BED_SIZE You would need #define X_MAX_POS X_BED_SIZE + {distance the hotend can actually move beyond the bed}

This Issue Queue is for Marlin bug reports and development-related issues, and we prefer not to handle user-support questions here. (As noted on this page.) For best results getting help with configuration and troubleshooting, please use the following resources:

After seeking help from the community, if the consensus points to a bug in Marlin, then you should post a bug report.

ADeliciousMan commented 1 year ago

Ah thank you, I'm not familiar enough for Marlin yet to know the difference between it being a bug and it stopping me from making a mistake. Appreciate the insight.

github-actions[bot] commented 1 year ago

This issue has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.