Marlin: [BUG] [SOLUTION INSIDE] Statusscreen completely "broken" after updating firmware

Created on 19 May 2019  路  23Comments  路  Source: MarlinFirmware/Marlin

Description

I updated from commit a43e892 to the most recent commit 3cd19a8.
After flashing the firmware my REPRAP_DISCOUNT_FULL_GRAPHIC_SMART_CONTROLLER shows the following

error

I can control the printer via Octoprint without any problems, all functions work, all the monitoring via Octoprint works as well. There are no functional issues with the printer itself misbehaving. It is just the display which is messed up for an unknown reason.

The hardware i am using is a modified RAMPS1.6+ combined with an Arduino DUE, TMC2130 Stepper Driver on all axes and a 12864 Full Graphic Display.

Additional Information

The following files are attached:

-   Configuration.h
-   Configuration_adv.h
-   pins_RAMPS.h
-   pins_RAMPS4DUE.h

Data.zip

Potential ?

Most helpful comment

Solution (tested here):
In the file "u8g_com_HAL_DUE_sw_spi_shared" search for "DELAY_NS(125)", replace 125 with 905 and the display will work again... :P
I don't understand why the delay has been reworked in that way, i think for related SD problems.

All 23 comments

Having the same problem, updated the firmware on my printer yesterday and that happened.

@th33xitus for some reason I can't read your configuration files, but if you are using SPI for your TMC drivers you might want to make sure you have the latest (changed yesterday) TMC library (0.3.4) and try again.

@trajesus it may help if you upload your configuration files. Oh and the same comment above also applies to you.

If things are still broken then you may have to work your way back to identify what change has caused the problem.

@gloomyandy Why aren't you able to read my files? You have to download the Data.zip and extract them :D The archive contains the 4 files i listed at the end of my post.

I don't understand why a problem with the display should be caused by an outdated TMC library. Yes i compiled the FW with the 0.3.3, i just updated, recompile and will upload the FW again in the next minutes to validate. But i can't imagine it will change anything because everything else works. If there would be a problem regarding the SPI, i would get some driver errors in the console, axis not moving would be the result of that.

And yes, if no one has a clue or an idea i guess i need to flash several commits until the error occurs to be able to give a more precisely problem report.

EDIT:

Just uploaded the re-compiled FW with the newest TMC library and as expected it didn't change anything. So that is not the issue here.

Same problem here, with RuRamps V1.3 and Arduino DUE, TMC2130 in SPI, of course with Marlin 2.
Two Delta Kossel MAX printers, same boards, drivers and LCD, same issue, i would therefore say that it is not an isolated case, but a bug.
No problem in managing with host or server, printing without problems.

immagine

@th33xitus Yes I know how to read a zip file :-) For some reason when I unzip your file on a Chromebook the files are unreadable. I don't normally have a problem with other zip files.

Anyway the reason why I suggested trying the updated TMC libs is because the 0.3.3 version had changes to the way that the TMC lib uses the SPI interface and and some systems the SPI bus is shared between the TMC drivers and the display. The changes to the TMC libs resulted in that bus being operated in a different SPI mode. If your system is sharing the SPI bus then there was a chance this change was messing up your display (some displays will continue to see SPI signals even though their chip select is not active, that is why you get noise on the displays if some systems when things like the SD card is active). Som trying with the updated TMC lib (that reverted the SPI changes) was a quick way to check if this is a problem or not.

Solution (tested here):
In the file "u8g_com_HAL_DUE_sw_spi_shared" search for "DELAY_NS(125)", replace 125 with 905 and the display will work again... :P
I don't understand why the delay has been reworked in that way, i think for related SD problems.

I can confirm, this change will fix the issue! Thanks @robustini !
I will edit the heading that a solution was found.

u8g_com_HAL_DUE_sw_spi_shared.cpp in line 90

-   DELAY_NS(125);
+   DELAY_NS(905);

@thinkyhead can this change please be merged into a new commit soon? :)

I also confirm it fixes the display.
However, now it is my TMC2130 that does not work, I must have another problem.

here are my configurations and the pins file for the RADDS if anyone could help
data.zip

@trajesus Did you update the TMC library? If yes, maybe revert back to an older version of it and try again.
What is the exact problem you have now?

I am using plataformaIO and it is choosing version 0.3.3, I will try to force it to version 0.3.2.
The problem now is that the steppers don鈥檛 move, any on them.

Try to force it to use version 0.3.4 first. Thats the most recent version.
Maybe that will fix it.

@trajesus I'm printing now, so I think your problem is elsewhere.

I can only find 0.3.3 as the latest version, will try the 0.3.2 and see if it works.

@robustini I think so too. Will try to change the TMC library version and see if it works first, otherwise, I will revert to an older marlin 2.0 version I have
Or open another issue since this one is solved

The latest TMC library version is 0.3.4.
Try to compile the firmware with Arduino.

I think I have to use platformIO since I'm using an Arduino DUE.
Can't change the library version, it automatically uses the 0.3.3

I think I will open another issue since this one is solved.

Why? I use Arduino DUE and i compile with Arduino, just add "Arduino DUE" to the board library, then select "Arduino DUE Programming Port".

immagine

@robustini really? will try then, thanks :)

@trajesus Please uncomment "#define TMC_DEBUG" in the "Configuration_adv.h", then post here the "M122" output.

@robustini used the arduino software as you said with the 0.3.4 version of the TMC library, it worked.
Problem solved, thank you so much :)

closing since solved

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.

Was this page helpful?
0 / 5 - 0 ratings