Skip to content

[FR] M117 support for RRF #1979

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
bttguy opened this issue Jun 8, 2021 · 25 comments
Closed

[FR] M117 support for RRF #1979

bttguy opened this issue Jun 8, 2021 · 25 comments
Labels
Abandoned enhancement New feature or request

Comments

@bttguy
Copy link

bttguy commented Jun 8, 2021

Just checked how's M117 working with RRF, and it needs a little optimization. It would be a nice feature for RRF users too #1791.
Te current behavior after I enabled M117 at config.ini:
M117 sent from TFT terminal -> notification pop up on TFT and on DWC
M117 sent from DWC console -> notification pop up only on DWC
I would like to implement the feature, when M117 sent from DWC it would also pop up on the TFT as a notification. Maybe it could also help in macros where a massege should pop up/user action is required.

@bttguy bttguy added the enhancement New feature or request label Jun 8, 2021
@jaysuk
Copy link

jaysuk commented Jun 8, 2021

@bttguy
Copy link
Author

bttguy commented Jun 8, 2021

@jaysuk Thats what my second thought was, after work I will check it again with M118. What P parameter should I use, 0/2?

@jaysuk
Copy link

jaysuk commented Jun 8, 2021 via email

@bttguy
Copy link
Author

bttguy commented Jun 8, 2021

@jaysuk M118 behaves the same way as M117, only displays on DWC regadless the P value. I cant execute it from the TFT, the on screen keyboard doesnt have "-character, but it would be meaningless anyway...

@guruathwal
Copy link
Contributor

M117 is a one way message. It will only be displayed on the LCD or DWC So this will be useless if it did not pass through the TFT. With M118, the message should be relayed to all the connected hosts as an echo message if the message does not contain any of the keywords which are suppressed by the TFT. You should check to which ports/targets the M118 message is relayed without the P parameter.

@digant73
Copy link
Contributor

On Marlin, M117 seems forwarded to the TFT as a notification. E.g. the "M117 Time Left xxx" is received as "action:notification Time Left xxx". I Don't know if a specific setting has to be enabled in RRF to provide this kind of feature.

@jaysuk
Copy link

jaysuk commented Jun 10, 2021 via email

@bttguy
Copy link
Author

bttguy commented Jun 11, 2021

M117 is a one way message. It will only be displayed on the LCD or DWC So this will be useless if it did not pass through the TFT. With M118, the message should be relayed to all the connected hosts as an echo message if the message does not contain any of the keywords which are suppressed by the TFT. You should check to which ports/targets the M118 message is relayed without the P parameter.

It seems like M118 cant be executed without a parameter.
image
I tested with all the possible values, but none ofe them was work as I wanted.

@Wombat37
Copy link

This would be wonderful if it's possible. It would be great for providing status from custom macros. Let me know if I can help with the testing

@Wombat37
Copy link

Wombat37 commented Jun 17, 2021

Can we also include M291 and M292 in these deliberations?

@dameq1
Copy link

dameq1 commented Jul 9, 2021

You can print notification on TFT by command:

M118 P2 S"//action:notification Text_here"

@Wombat37
Copy link

Wombat37 commented Jul 10, 2021

Yes, that does work! Thank you for the information.

M118 in print files, macros and console messages formatted this way and applied on the DWC or mainboard do appear on the TFT!

This doesn't help for M117 (not really a problem) or M291 (would be nice to have).

@bttguy
Copy link
Author

bttguy commented Aug 17, 2021

@pfn Do you have and idea/solution to let these msg-s displayed on the TFT? Did you tried it/would like to help solve this problem or figure out a workaround? :)

@pfn
Copy link
Contributor

pfn commented Aug 17, 2021

I need to know what the wire protocol is for M117, it's not obvious to me at the moment, so I'm not going to look into it.

I'm looking into doing interactive M291 for the TFT next. I have a plan on how to approach and resolve it already. That means interactive macros will work (at least for OK/Cancel -- no plan to support jog buttons yet)

@pfn
Copy link
Contributor

pfn commented Aug 18, 2021

M117 looks like it won't be supportable given the current configuration to use with the TFT.

We typically use M575 P1 S3 B57600 to connect the TFT to RRF. S3 is "raw mode with checksums" per https://duet3d.dozuki.com/Wiki/Gcode#Section_M575_Set_serial_comms_parameters.

RRF has the following code for handling M117:

void RepRap::SetMessage(const char *msg) noexcept
{
    message.copy(msg);
#if SUPPORT_12864_LCD
    ++messageSequence;
#endif
    StateUpdated();

    if (platform->IsAuxEnabled(0) && !platform->IsAuxRaw(0))
    {
        platform->SendPanelDueMessage(0, msg);
    }
    platform->Message(MessageType::LogInfo, msg);
}

Basically, the M117 payload is only sent if the port is not in "raw mode"

I don't know what the scope of getting the TFT to work in PanelDue mode would be.

@bttguy
Copy link
Author

bttguy commented Sep 10, 2021

@pfn Any changes that had been implemented recently could make this FR possible, or its still not possible without a major rework?

@pfn
Copy link
Contributor

pfn commented Sep 10, 2021

This does not seem possible without switching to PanelDue mode; and that requires a large amount of rework

@pfn
Copy link
Contributor

pfn commented Sep 13, 2021

Looks like the changes in #2171 will enable this to happen pretty easily

@bttguy
Copy link
Author

bttguy commented Sep 13, 2021

@pfn wonderful news to a monday!!

@bttguy
Copy link
Author

bttguy commented Sep 17, 2021

@pfn #2171 is merged, if you have time this feature would be appreciated

@xPew
Copy link
Contributor

xPew commented Nov 9, 2021

When I tested M73 support it was a bit confusing wether it was working or not. Not sure if it is a TFT or RRF or user related bug, but anyway. SuperSlicer now has M117 support for remaining time, which might be useful, at least as an option. I would be also interested in this feature. @bigtreetech maybe you could check on this one too? :)

@bttguy
Copy link
Author

bttguy commented Nov 29, 2021

@pfn Do you have a sollution to this FR? Sadly nobody came up with an idea, and you mentioned it will be easy after #2171 is merged. :) RRF mode need you!

@pfn
Copy link
Contributor

pfn commented Nov 29, 2021

It is pretty easy, but my understanding is that M575 S0/S1 isn't working well lately, and I don't have time to investigate it at the moment. The next time I open up my printer, I'll extend a breakout cable for rx/tx/gnd so that I can attach a serial monitor to see what's going on. TFT work is on the back burner for me currently.

@stale
Copy link

stale bot commented Jan 28, 2022

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the Abandoned label Jan 28, 2022
@stale stale bot closed this as completed Feb 5, 2022
Copy link

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.

@github-actions github-actions bot locked and limited conversation to collaborators Mar 28, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Abandoned enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

8 participants