New TFT release

If you scroll up, there is a lot going on

Yep, agree. I don’t understand the code 100% either. Removing the ‘storeCmd(“M420\n”)’ makes my problem disappear, so this is definitely where my problem starts.

for some reason yours also sends M420

Are you sure your tft software doesn’t? Maybe it is our Marlin firmwares that react differently on that command from the tft.

…or the screen config

Nope. Definitely not. I’ve checked multiple times, and used your standard config file:
‘auto_load_leveling:0’

I also couldn’t find any sign that my tft software or config are corrupt; the compilation works properly, the software does what I am telling it to do, flash memory is updated whenever I want it to update.

Are you sure your control board firmware does not have bed leveling turned on?

No, I am not. I flashed the firmware for my SKR Pro 1.2 from V1CNC_SkrPro_DualLR_2209-2.1.1.zip months ago and have never touched it since then. Is there an easy test to find this out?

Thanks again for your help.

1 Like

This code is (I think) performing actions based on when the gcode is sent from the tft. There is some stuff at the top related to where the gcode came from. Then a gigantic switch to get only G28.

I agree with Avatorio though. If you’re running this code, Ryan, I would expect it to send M420 whenever G28 goes into the sendQueueCmd. Maybe the G28 X is not using the queue and G28 is? Or maybe there is still some difference between the marlin firmware you two are running.

M420 by itself is not setting anything, it is a query to set the state of the tft to the state of Marlin.

The best way to know for sure is to hook up another usb uart connector on the tx line from the screen to the skr. Then watch what commands go from the tft when you hit the home button.

At any rate, this is a bug introduced 1 month ago. That M420 command should be gated on the bed leveling parameter and it isn’t.

1 Like

I’ll do a few more tests in a bit.

3 Likes

I messed with all my screens yesterday and even a bunch that I flashed for orders. None had any error message when homing, and the headless one shows no errors or any sign of M420 in the terminal window when homing.

1 Like

Two somehow different Marlin installs that should be the same, and us in the middle… LOL

2 Likes

Guys, bad news: someone else (a new LR3 maker) has now hit the error of “Unknown command: M420”! Link below. I linked them over to this thread so they could read about the ongoing efforts to solve the issue.

I told them,

Ugh. This is now the second time today I’ve read about someone hitting an error of “Unknown command: M420”! Please check out the discussion beginning at the link below, and continuing onward. (Hint: they are still working on it!)

1 Like

I have no idea what the heck that can be. I have updated 6 old screens and 50+ new ones, and I have not seen it once.

I hate not knowing what the heck.

Same here. No clue how it can happen to one group of people and not to the other.

There is an easy fix for it. This fix - to my mind - is minimum-invasive, but you need to amend and compile the source code of the tft screen for it:

  • There is a function in ‘usr/API/parseACK.c’ which suppresses specific messages coming from Marlin, i.e. these messages - although posted by Marlin - will not be shown on the tft screen

  • This function uses the array ‘knownEcho’ to specify which messages should be ignored. Now, if you add the M420 command to this array in line 39 it will be safely ignored:

{ECHO_NOTIFY_NONE, “Unknown command: "M420”}, // M420

Interestingly, there are a couple of other entries in this array already dealing with the the M420 command …

This fix works perfectly for me and is not dependant on what BTT / Marlin do with it. It should also work for the Repeat users. So, if this M420 message - for whatever reason - is thrown by Marlin, it will be suppressed. And if it is not thrown, well, then it won’t be shown anyway. The downside is that you will never see this message again on your tft, even if it is thrown by Marlin for a good reason. But I decided to live with this risk.

Alternatively, you can revert the change BTT introduced in Feb (see above). But because I don’t understand Marlin well enough I thought my second option would be better.

I updated my MP3DP Screen and my Primo screen and now both say “No Printer Attached” they were working just fine before the update…

This is a different issue. It is probably the baud rate set incorrectly.

1 Like

Ok i will start a new thread. thank you!

1 Like

I am not super interested in maintaining edits that are that deep. If we can figure out why two of you are seeing this issue, that I can submit it to BTT and get the repo fixed. Always best to get the issue fixed that try to maintain a band aid.

Wondering if more will pop up. Both of you have had other firmware flashed to your screens and BTT does make firmware that is non-down gradable at times. Last time we wanted to go back it caused the screens to show upside down on previously good firmware and could only be fixed with new firmware.

1 Like

Agreed!

Wondering if more will pop up.

I don’t hope so!

Both of you have had other firmware flashed to your screens

Are you sure? I haven’t followed the other thread, but the screen Doug / Sway pasted in looks like the stock firmware to me.

If we can figure out why two of you are seeing this issue

More than happy to support this analysis.

1 Like

Okay, I went to submit a bug report and someone had already done so this morning. Fingers crossed this is a quick fix.

2 Likes

Okay, PR is in the works, Fix "Unknown Command: M420" bug by kisslorand · Pull Request #2752 · bigtreetech/BIGTREETECH-TouchScreenFirmware · GitHub

2 Likes

Did they verify it was legal in their state, or did they have a note from their doctor? That’s usually the issue with (M)420 problems…

I’m in California, that is why I was so concerned. It should not be an issue here. :laughing:

1 Like

Have just applied the fix to my sources and it works. No (M)420 problem anymore :grinning:

1 Like

Awesome. He said he was the cause of the issue so I am glad he knew how to fix it.

I like his attitude. Maybe we can get some CNC specifics over the line in the future.