Layer information not displayed on browser when printing from SD card

What is the problem?

When printing from SD card on Prusa i3MK3S, even Octoprint is connected, on the browser I see:

Current Height: - / - mm
Layer: - / -

I want to see the current height and layer being printed.

There is a small window at the bottom left of the browser display. It says "Printer Display 100% L=-/-"

What did you already try to solve it?

Updated the printer firmware

Additional information about your setup

OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ... as much data as possible

OctoPi 0.18.0
Prusa i3MK3S
Safari
Mac OS 11.5.2

Plugins (from OctoPrint Settings): Dashboard, DisplayLayerProgress, Firmware Check, PrintTimeGenius Plugin, Printer Dialogs, Printer Notifications, Virtual Printer

This is working as intended - there's no way for OctoPrint to know this information, since you are printing from the SD card of the printer rather than OctoPrint.

Why OctoPrint cannot pull out the information from the printer? The printer should know which layer it is printing and at what height.

How should OctoPrint know when to pull?
OctoPrint could do it every 10 seconds? Every one second or less?
This gives additional load to receive stage of the printers MCU.

The other way could be, that the printer would send this information on layer change.
But Marlin/Prusa firmware does not support this feature.

That is one of the downsides of printing from SD card.

If you like to have it, you may pull a feature request on the Marlin and Prusa firmware githubs.

In addition see this:

Wouldn't it be possible to add M118 custom messages at layer change inside the gcode, using the slicer, and have a plugin pick up those to update the current printing stats inside octoprint?

This is possible on regular marlin. I don't know if the prusa firmware offers M118 or an alternative...

Yes, that could be a solution, if...

If its enabled in the firmware. And not every firmware does have it at all or uses it another way.:

https://reprap.org/wiki/G-code#M118:_Echo_message_on_host

Yes, the printer knows what height it is at, but it doesn't tell OctoPrint that.

According to this prusa knowledge base article M118 isn't supported by prusa firmware. M117 only works with LCD so not so sure octoprint could intercept those as they wouldn't be sent over serial...

One way to be sure would be to test both in octoprint's terminal and see what happens.

When a print runs from SD card, OctoPrint has no direct access to what is happening there.

Yeah I know that, I was referring to whether prusa firmware actually supported the M118 gcode, and whether something was logged on the printer's serial when issuing M117...

Of course the simplest solution would be to start the print directly from octoprint to have those informations, but I'm sure @newtooctoprint has valid reasons to start a print from the SD card.

The printer knows at which height it is printing, although it doesn't know which layer it is printing... Those may not be correlated if layer height changes during print for example.

1 Like

I still cannot get the issue posted in the following thread resolved. So I cannot print directly from Octoprint on my PC. I just use SD card and my Mac to to see a livestream of the printer during print. All my slicers are on the PC.

Cura is available on Mac, I'd be surprised if other slicers weren't

CAD software is available only in Windows version. It is more convenience for me to do everything under Windows.