bigtreetech / BIGTREETECH-TouchScreenFirmware

support TFT35 V1.0/V1.1/V1.2/V2.0/V3.0, TFT28, TFT24 V1.1, TFT43, TFT50, TFT70
GNU General Public License v3.0
1.3k stars 1.65k forks source link

layer height doesn't update at each layer change and extruder icon issue #1314

Closed Chukozor closed 3 years ago

Chukozor commented 3 years ago

I tried the firmware in the folder "copy to SD", unified menu, TFT35 3.0, used in the commit 198f14e1f2f0137d7497d42cdf7aab9b8817c7ea (on a BTT SKR 1.3).

I found two issues :

 - the "first icon" extrude in the menu shows preheat menu (the other extrude icon below "move" is working fine).
 - during print, layer height doesn't update at each layer change. Sometimes it updates, sometime it doesn't.
oldman4U commented 3 years ago

Hi.

The first "issue" is a feature which was implemented to make sure that a preheat is made before extrusion. It caused confusion and will be changed with the next release of the firmware.

Regarding Layer hight. Does this happen while printing from on board SD or a storage which is attached to the TFT? When it does not update, do you mean it updates late or does it update to a wrong value or does it skip certain layer hight at all?

Please let us know, thank you

@kisslorand @radek8

kisslorand commented 3 years ago

@Chukozor Do you use ARC in your gcode? (G2, G3) With G2, G3 commands the TFT doesn't capture the X, Y, Z coordinates.

Chukozor commented 3 years ago

no, there is only G0 and G1 in the gcode I used

Chukozor commented 3 years ago

@oldman4U ok thanks. For the layer issue, I printed with SD card on TFT in TFT mode it skips certain layer height on the screen but not in the print (hopefully).

oldman4U commented 3 years ago

Out of 10 how many times does it skip? And have you seen this before? Which layer hight are you using? Can you attach a gcode file?

Chukozor notifications@github.com schrieb am Mo. 30. Nov. 2020 um 16:01:

@oldman4U https://github.com/oldman4U ok thanks. For the layer issue, I printed with SD card on TFT in TFT mode it skips certain layer height on the screen but not in the print (hopefully).

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/issues/1314#issuecomment-735838499, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6XKZGNIEQ3Y4OFDSMYZB3SSOXTFANCNFSM4UHBNNRQ .

Chukozor commented 3 years ago

@oldman4U I don't know, I only updated the firmware yesterday and made one print. The layer stopped updating at 0.85mm height. Here the gcode I used

oldman4U commented 3 years ago

.85 or .75?

oldman4U commented 3 years ago

Forget it.

Initial layer hight is .25 and all following are .2. All good.

Testing it with a dry print at 999% speed;-)

oldman4U commented 3 years ago

Could you please try it again and next time the Layer hight stops - click on More and then Back - to see if the Layer hight updates to the correct value.

Thank you

Chukozor commented 3 years ago

ok I'll try that, but I won't be able to print for several days. I'll try this for sure next print. Thanks

oldman4U commented 3 years ago

If you want, you can close this ticket.

I am able to reproduce the issue here, so next I will find out which PR caused this and contact the developer.

Thank you

Chukozor commented 3 years ago

thanks!!!

kisslorand commented 3 years ago

I found the bug. It was introduced by PR #1272. During printing the actual coordinates are not pulled from printer, they are gathered from the sent gCode. The mentioned PR was getting info from printer (mainboard/Marlin), which was not given. A PR might follow or you can just edit PrintingMenu.c: instead of: if(curLayer != coordinateGetAxisActual(Z_AXIS)){ curLayer = coordinateGetAxisTActual(Z_AXIS); write: if(curLayer != coordinateGetAxisTarget(Z_AXIS)){ curLayer = coordinateGetAxisTarget(Z_AXIS);

Actual coordinates are obtained by sending M114 to Marlin, which is not done during printing to avoid unnecessary serial traffic while printing.

PR #1319 fixes this.

Later edit: All of the above is true while printing from the USB or SD attached to the TFT. Printing from onboard SD is different. Latest commit from the above mentioned PR should take care now of both situations.

Chukozor commented 3 years ago

Hi again, @kisslorand I tried what you wrote and I had the issue "nozzle dives in the bed" at each layer on the same point (not even at the layer change). You can see the effect on the photo here. So I re-opened the issue to report that it's not fixed by this :

I found the bug. It was introduced by PR #1272. During printing the actual coordinates are not pulled from printer, they are gathered from the sent gCode. The mentioned PR was getting info from printer (mainboard/Marlin), which was not given. A PR might follow or you can just edit PrintingMenu.c: instead of: if(curLayer != coordinateGetAxisActual(Z_AXIS)){ curLayer = coordinateGetAxisTActual(Z_AXIS); write: if(curLayer != coordinateGetAxisTarget(Z_AXIS)){ curLayer = coordinateGetAxisTarget(Z_AXIS);

Actual coordinates are obtained by sending M114 to Marlin, which is not done during printing to avoid unnecessary serial traffic while printing.

PR #1319 fixes this.

Later edit: All of the above is true while printing from the USB or SD attached to the TFT. Printing from onboard SD is different. Latest commit from the above mentioned PR should take care now of both situations.

Chukozor commented 3 years ago

but I didn't try the update #1319 , I just changed the line you told and compiled it. So maybe this update has no more this issue .... ? @kisslorand

oldman4U commented 3 years ago

Please try the current master firmware which includes all fixes.

Please help the community and close the ticket once you do not need it anymore. Thank you

kisslorand commented 3 years ago

@Chukozor The "layer height doesn't update at each layer change and extruder icon issue" should have been resolved already. This new thing you have should be treated in a separate ticket. If you open a new ticket about it, please check before if the behaviour is present on any gcode you try to print and please provide a sample gcode also, a smaller one, if possible.

oldman4U commented 3 years ago

And in case it has been working before please provide also the good firmware

kisslorand notifications@github.com schrieb am Do. 3. Dez. 2020 um 09:21:

@Chukozor https://github.com/Chukozor The "layer height doesn't update at each layer change and extruder icon issue" should have been resolved already. This new thing you have should be treated in a separate ticket. If you open a new ticket about it, please check before if the behaviour is present on any gcode you try to print and please provide a sample gcode also, a smaller one, if possible.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/bigtreetech/BIGTREETECH-TouchScreenFirmware/issues/1314#issuecomment-737743644, or unsubscribe https://github.com/notifications/unsubscribe-auth/AM6XKZA6DX7VNYVEP2EGCVLSS5DAHANCNFSM4UHBNNRQ .

github-actions[bot] commented 6 months 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.