Klipper3d / klipper

Klipper is a 3d-printer firmware
GNU General Public License v3.0
9.24k stars 5.26k forks source link

[feature request] combine bed_tilt and bed_mesh features #2004

Closed jperrin72 closed 4 years ago

jperrin72 commented 4 years ago

I'm using the bed_mesh feature and find it very useful. I have to check and calibrate my bed on a regular basis. I tried to enable bed tilt on top but I get an error "G-Code move transform already specified". I understand the bed_tilt code is trying to override the existing bed_mesh instead of updating it.

I wonder if both features could be combined through the following sequence: 1) Klipper initialized with default bed mesh (current behavior) 2) on BED_TILT_CALIBRATE command bed is probed to create a tilt mesh 3) depending on the bed probe:

Would it be possible to amend the code to do this ?

Thanks in advance

Jerome

klipper-gitissuebot commented 4 years ago

Hi @jperrin72,

It did not look like there was a Klipper log file attached to this ticket. The log file has been engineered to answer common questions the Klipper developers have about the software and its environment (software version, hardware type, configuration, event timing, and hundreds of other questions).

Unfortunately, too many people have opened tickets without providing the log. That consumes developer time; time that would be better spent enhancing the software. If this ticket references an event that has occurred while running the software then the Klipper log must be attached to this ticket. Otherwise, this ticket will be automatically closed in a few days.

For information on obtaining the Klipper log file see: https://github.com/KevinOConnor/klipper/blob/master/docs/Contact.md

The log can still be attached to this ticket - just add a comment and attach the log to that comment.

Best regards, ~ Your friendly GitIssueBot

PS: I'm just an automated script, not a human being.

KevinOConnor commented 4 years ago

I'm sure it's possible. A developer would need to implement and submit this.

-Kevin

jperrin72 commented 4 years ago

I think I could try to code it but might need some help with code snippet that shows how to cancel a print job. I still need to implement the max tilt threshold feature - I have no clue on how to implement it.

Hywelmartin commented 4 years ago

In Marlins ABL you tilt the mesh according to a 3 point probing at the beginning of each print... so more of an extension of the mesh-bed leveling..

jperrin72 commented 4 years ago

Hi Hywel, Could be however I was thinking to apply both module mesh transformation to tool head coordinates (tilt then mesh) to avoid an heavy change on the bed-mesh code and make testing easier. What do you think?

Sent with GitHawk

Hywelmartin commented 4 years ago

@jperrin72 I'm not a coder so I don't know... And I don't use either.. It was just a suggestion..

jperrin72 commented 4 years ago

just created pull request #2018 with a code change that seems to work well for me so far

Arksine commented 4 years ago

Question: Instead of using the default mesh, why not probe a new mesh prior to each print? I fear that stacking bed_tilt and bed_mesh transforms could result in too much adjustment applied to Z depending on the tool's location.

jperrin72 commented 4 years ago

Question: Instead of using the default mesh, why not probe a new mesh prior to each print? I fear that stacking bed_tilt and bed_mesh transforms could result in too much adjustment applied to Z depending on the tool's location.

@Arksine it takes a long time to probe a new mesh - I’ve been using stored mesh and it works well as long as the bed is correctly leveled. About having too much adjustment on Z can be avoided with the tilt tolerance feature I was thinking about. so far my first test of this change (pull request) works well.

Sent with GitHawk

jperrin72 commented 4 years ago

@KevinOConnor Hi Kevin, I updated the commit with a proper sign-off for your review and hopefully commit

KevinOConnor commented 4 years ago

I'm going to mark this as inactive, as it looks like the conversation has concluded for now.

-Kevin