M221 code on TFT35

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());
        else  
          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).

Jeffeb3,
Any chance we can collaborate to get this M221 error message wiped out of the TFT firmware? I have no idea how to compile a firmware but perhaps you could indicate how to and I will be happy to take it.
…Or let me know if you are planning to review the TFT35 firmware one of these days… :wink:
Thanks for any help Jeffeb3. I know your participation in this forum is totally altruistic. I appreciate this very much.

I’m pretty sure the v1 version isn’t sending M221.

This is the V1 version we are having issue with…

Jeff,

If the V1 version is the one dated 7/29/20 like BIGTREETECH-TouchScreenFirmware-1-Vx.x.26.zip, then I believe it still has references that send M221 at these locations:
line 361 interfaceCmd.c
line 49 SpeedControl.c
line 59 Speed.c
line 274 StatusScreen.c

It should be safe to “nuke” M221 from all of those occurrences, the only side effect would probably be that Flow will always show 0% when the Status Screen toggles between Speed/Flow every 2 secs.

Regards,
Tony

2 Likes

Ok. I can’t look at it now. If you wanted to push this ahead, a github PR would be the best. I will set a reminder to look at it when I get through my current crunch.

1 Like

Would be amazing if someone could finally fix this issue. Its the only glitch I have with my mpcnc.

Chaos, Patrick, gcormier,

I don’t know much about GitHub or doing a PR. So I downloaded the source code
“BIGTREETECH-TouchScreenFirmware-1-Vx.x.26” and made modifications that should eliminate all sending of M221 codes, then compiled a TFT35 E3 V3_0 binary file.

NO M221 BIGTREE_TFT35_V3.0_E3.26.x.zip (106.9 KB)

From photos above I believe that’s the model you guys are using.
Please try it and see if it fixes your problems, I don’t have an E3 display to test it on.
Good luck

2 Likes

See my post