M221 code on TFT35

I recently finished building my mpcnc and it works great. But when trying to adjust my speed, I get the error code - Unkown command: “M221”
If I tap to clear it, it comes back instantly, and hard to back out from. And makes me unable to change speed.

I have the SKR Pro and the tft35 from V1.

I have tried reflashing with the V1 firmware and still get yhe same error.

Any advice?

M221 is for flow rate… So that’s weird. I’m not surprised you’d have that issue with the stock tft firmware, but I thought I killed all of those in the custom v1 version.

Yeah. I read your comment on that previously, so I followed the links and downloaded your version. Even though its what I originally installed. I tried again, and getting same error…

Can you post a pic of the home screen with my version on it? Maybe it isn’t getting installed?

1 Like

Oh, sorry. I meant the home screen. The screen it settles on once it is turned on. Sorry for being lazy, but I didn’t change the version number.

No worries, really appreciate the help. Hoping this is the screen you meant.

Shoot. That looks like the right thing.

damn, i was hoping i did something wrong and it would be an easy fix… Sucks not being able to change my speed.

Can you switch to marlin mode and change the speed that way?

I didnt think about that, but is it safe to change between modes mid print? I guess if it works i could just run it in marlin mode only…but i like the touch screen. Just got my laser in…
Is this a problem just with me? or is this a firmware issue? Wondering if I should try to reflash to old firmware then back to this firmware?

If you are running from cncjs, I think it is sort of safe to switch, but this is new territory.

I am guessing this is a problem in the firmware. And not specific to you.

Well then, ill run a quick test and report back.

Unfortunately I am unable to switch to marlin while s job is running. Just doesn’t do anything when you hold the button.

Any update on this? I’ve got the same config and see the same M221 issue on the TFT mode but I can say that that Marlin mode is functional.

No update for me. While in touch screen, If I am quick I can change the speed after canceling the error code. But it is a serious pain…

This might help… I modified the file “SpeedControl.c” in the BTT TFT35 source code to NOT send M221 to the printer if there are ZERO hotends. That fixed the error message for me. Here is what I ended up doing to the speedQuery call in SpeedControl.c…

void speedQuery(void)   // ask printer for speed and flow of current hotend  //modded to ignore M221
      if (infoHost.connected && !infoHost.wait && !speedQueryWait)
        if(infoSettings.hotend_count > 0) 
          speedQueryWait = storeCmd("M220\nM221 D%d\n",heatGetCurrentTool());
          speedQueryWait = storeCmd("M220\n");

Same issue here. M221 error and it basically makes the TFT unusable until the job is done, as it will just keep popping up so you can’t do anything else before it pops up again.

Can you explain how we can fix this then? I have the same issue but not sure how to incorporate this change in the source code… My limited abilities go as far as flashing a new version of firmware…
Is there a firmware with this correction available? The version I have was downloaded in Feb/2021 from V1 and is the most current available as of today.
Thanks for the help!

The guys who created the V1 version of the TFT firmware would need to make that change as I don’t use the V1 TFT firmware. Maybe Jeffeb3 could make that modification in SpeedControl.c in the V1 firmware?
Or perhaps inhibit the TFT from sending M221 in some other way than I have done when the TFT firmware is in CNC mode (no need for flow percentage M221 if there are no hot ends).