Skip to content
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

Display Info on LCD #18766

Open
lethuer opened this issue Mar 30, 2024 · 7 comments
Open

Display Info on LCD #18766

lethuer opened this issue Mar 30, 2024 · 7 comments
Labels
PR: Post Processing ➕ Like adding beeps, more tunability or different Gcode pause at heights Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. Type: Bug The code does not produce the intended behavior.

Comments

@lethuer
Copy link

lethuer commented Mar 30, 2024

Cura Version

5.6.0 + Plugin"DisplayInfoOnLCD"

Operating System

Windows 11

Printer

Artillery Genius (NOT Pro)

Reproduction steps

Use latest cura release and a copy of new plugin "DisplayInfoOnLCD"

In the past there exist two seperate plugins DisplayProgressOnLCD.py + DisplayFilenameAndLayerOnLCD.py.
These are now combined in DisplayInfoOnLCD.py.
I found this pull request: #15866

Actual results

  1. Display Progress
    image
    With shown settings I get something like:
;LAYER:14
M117 15/83 | ET 23m
M73 P18
M118 15/83 | ET 23m

a. M118 only icluded if "Display remaining time" is selected, it should be possible to include M118 messages also if "left time" information isn't used, so only "data left" information is needed. Maybe activate seperate checkboxes just like it is done with M73 line(s)
b. M117 messages are always included, it should be possible to insert ONLY M118
c. Percentage information not used in M118 statement ?! In shown example shouldn't it be M118 18/100 ? Not sure in this case because 15/83 = 18 percent...
d. "M118 A1 P0 ation:notification ... " missing. With old "Display Progress On LCD" I got this in the past wich is the format I need for my genius printer:

M118 A1 P0 action:notification Time Left 0h27m15s
M118 A1 P0 action:notification Data Left 5/100
  1. Filename and Layer
    image
    I get something like:
;LAYER:0
M117 Layer 0 of 82 AG_20mm_calibration_cube
M118 Layer 0 of 82 AG_20mm_calibration_cube

a. If "Text to display" is empty always the filename in inserted, which can be prevented by inserting a whitespace. This already was the case in old "Display Filename And Layer On LCD" plugin. Maybe use a checkbox if filename should be included and if unchecked don't write in in gcode.
b. M117 messages are always included, it should be possible to insert ONLY M118
c. "M118 A1 P0 ation:notification ... " missing. I would need something like this to update layer information on my Genius:

M118 A1 P0 action:notification Layer Left [layer_num]/[LAYER_COUNT]

Expected results

See above

Add your .zip and screenshots here ⬇️

Filename and Layer
Display Progress

@lethuer lethuer added Status: Triage This ticket requires input from someone of the Cura team Type: Bug The code does not produce the intended behavior. labels Mar 30, 2024
@GregValiant GregValiant added Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. PR: Post Processing ➕ Like adding beeps, more tunability or different Gcode pause at heights and removed Status: Triage This ticket requires input from someone of the Cura team labels Mar 31, 2024
@GregValiant
Copy link
Collaborator

Thanks for the report.
I found the bug for the M118 lines. It also affected M73.
In the tooltip for "text to display" it explains that if the box is empty then the file name will be added. A single "space" character would override that. I didn't alter the code for "File name and layer" so it is working as it always did.
There is no "option" for whether to include M117 or not because that line is the point of the post-processor.
The parameters "A1 P0" for the M118 line seem to be very make and model specific. You could use Search and Replace to get those into the line.
Search: M118
Replace: M118 A1 P0
Regex: Not checked.
that would result in:
;LAYER:2
M117 Layer 2 of 249 GV_SupportShape
M118 A1 P0 Layer 2 of 249 GV_SupportShape

The proposed bug fix for the M118 without "Remaining Time" and with Search and Replace active as described will yield:
;LAYER:2
M117 layer 3/250
M118 A1 P0 layer 3/250

See PR #18774

Here is "DisplayInfoOnLCD" with the proposed changes.
DisplayInfoOnLCD.zip

@lethuer
Copy link
Author

lethuer commented Mar 31, 2024

I found the bug for the M118 lines. It also affected M73.

Tried your modified file. Now M117 + M118 (+ M73) lines are inserted even without activating the "Display remaining time" :)

There is no "option" for whether to include M117 or not because that line is the point of the post-processor.
The parameters "A1 P0" for the M118 line seem to be very make and model specific. You could use Search and Replace to get those into the line.

But in the past with old plugin "Display Progress On LCD" I was able only to insert M118. There was a dropdown menu (after activating "Time remaining" where I was able to choose the "Time Reporting Method" to select what should be inserted in the gcode. And if M118 was selected exactly the format I mentioned was inserted which is needed for a lot of people who are using artillery printers and the original tft.

Also in the past I was able to insert seperate lines for time and percentage, which is now impossible.

  1. It was also possible to insert only time information (without percentage) which is now impossible
  2. If "Display remaining time" is activated this information is always added to the line and not a seperate one. This makes it even more difficult for usage of some extra tools like search and replace (which in my opinion was way more easier before)
  3. Why with "LCD display option" set to "Display Progress" also layer informations are inserted, just like it is already done with "Filename and Layer" ? In the past "time remaining" and "percentage" informations were inserted by "Display Progress On LCD".

The proposed bug fix for the M118 without "Remaining Time" and with Search and Replace active as described will yield:
;LAYER:2
M117 layer 3/250
M118 A1 P0 layer 3/250

Only if I set "LCD display option" to "Display Progress"... With "Filename and Layer" I get an "of" instead "/" which isn't easy to replace.

Anyhow, I would need three seperate M118 lines for "time left", "data left" (percentage) and "layer left"

@GregValiant
Copy link
Collaborator

GregValiant commented Apr 3, 2024

Here is another try at it.

I've added the "A1" and "P0" parameters for M118, made M117 optional, and there are some other changes.
The pull request has been updated. The changes appear to be too late for 5.7.0 but should be in the next release.
EDIT:
DisplayInfoOnLCD.zip

@lethuer
Copy link
Author

lethuer commented Apr 3, 2024

Hi !
Thank you for your modifications which I tried again.
So I'm now able to only include M118 commands 👍

With "Filename and Layer" I get something like this:
image

;LAYER:0
M107
M118 A1 P0 Layer 1 of 100  

I need something like this:

M118 A1 P0 action:notification Layer Left [layer_num]/[LAYER_COUNT]

So following summary:

  • keywords "action:notification" are still missing
  • also it must be "Layer Left" instead just "Layer"
  • "/" instead "of" is needed (especially this one would need a regular expression to replace)

With "Display Progress" I get something like this:
image

;LAYER:87
M118 A1 P0 88/265 | ET 3h37m

I need something like this:

M118 A1 P0 action:notification Time Left 0h27m15s
M118 A1 P0 action:notification Data Left 5/100

So following summary:

  • still no seperate lines for time and data
  • keywords "action:notification" are still missing
  • obviously you removed the word "layer" if "Display Total Layer" is active, so now it could be interpreted as a percentage value (Data Left) 👍
  • for "Data Left" only this key words are missing after "M118 A1 P0"
  • for "Time Left" key words are missing after "M118 A1 P0" and leading 0h are needed if remaining time is less 1h. Additionally I can't see remaining seconds which are also required.

I would really like if I could insert the required M118 command directly without "Find and Replace" because it worked before with old plugin "Display Progress on LCD" which otherwise would mean the merge action of the two plugins "Display Progress on LCD" and "Display Filename And Layer to LCD" to a single one "Display Info on LCD" would be a step backwards for many people.

@GregValiant
Copy link
Collaborator

GregValiant commented Apr 4, 2024

What is there works for most people and for Artillery printers. If you have a custom situation you can alter the script yourself or pay someone to do it. You could also bring the old script forward into the current version of Cura.
I copied DisplayFileNameAndLayer verbatim from the old post processor (4.13.1?). I neither added nor deleted anything.

@lethuer
Copy link
Author

lethuer commented Apr 7, 2024

I copied DisplayFileNameAndLayer verbatim from the old post processor (4.13.1?). I neither added nor deleted anything.

But with your merged plugin "Display Info on LCD" it is now possible to insert M118 messages with layer change which wasn't the case before with plugin "Display Filename and Layer on LCD" ;)
Because the old script version "Display Progress on LCD" had the format I need for "Time Left" and "Data Left" I was hoping that I would be able to use your new script also for "Layer Left" information...

What is there works for most people and for Artillery printers.

Not with tft firmware provided by digant: https://www.thingiverse.com/thing:4294049
This tft firmware can show informations about progress, layer and time which needs the format:
M118 P0 A1 action:notification Time Left hms
M118 P0 A1 action:notification Data Left /
M118 P0 A1 action:notification Layer Left /

@GregValiant
Copy link
Collaborator

You have a 3rd party printer customized by a 4th party with 5th party firmware. There are bound to be issues.
Putting specialty items in might adversely effect other printers.

Since it would appear that all the lines would be the same you could do it with Insert At Layer Change? Insert at Layer Change does switch any line to upper case because many firmware flavors don't understand lower case commands.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: Post Processing ➕ Like adding beeps, more tunability or different Gcode pause at heights Status: Under Investigation The issue has been confirmed or is assumed to be likely to be a real issue. It's pending discussion. Type: Bug The code does not produce the intended behavior.
Projects
None yet
Development

No branches or pull requests

2 participants