The filament and layers are calculated in hours. This is part of the progress estimations done by the Duet, along with the file progress. Since different print jobs can give different results, the Duet calculates these 3 to allow you to make an estimate on how long it will take to complete:
- File Progress: at the current rate of working through the file, it is estimating that it will take X hours to complete. This one is typically for me the most accurate.
- Filament progress: your slicer adds information on the total length of filament to be used during the print. Using that information, along with the length of filament that have been extruded (and how long it took to extrude that filament), it calculates how long it might take. As long as your print use a very constant amount of filament, this can be accurate (also only accurate if you do not adjust the Extruder percentage / flow rate on the Print screen). In DWC the progressbar also displays the length that was printed vs what the slicer said.
- Layers: The slicer also have layer numbers (and in some cases specifically say the number of layers), and using that information along with the time it took to print the last N number of layers, to determine how long it may take. This is typically accurate only when layers are similarly sized and shaped. If you for example print a pyramid, it will over estimate.
The DWC can also display 2 extra estimations:
- Slicer: The slicer can estimate how long it may take, and this vs how long it already took is used here.
- Simulation: If you simulated the print, it will use that estimation vs how long it already took.
Using these different estimations, and knowing the rough geometry of your part, you can make more accurate predictions on how long it will take. Examples:
- If you have a very flat print, with a few small features (only walls/perimeters) on top, the Layer estimations will be far off; Here the filament might be more accurate; and the file progress may also be way off.
- If you have a pyramid shape (big bottom, going smaller etc): Layer estimations will be off (since each layer takes less time); Filament may also be off, filament usage at the base might be high, while lower near the top; file progress may be most accurate (same number of commands per layer, after the initial layers).
- If you have a simple 2D extruded shape: Layer estimations may be most accurate (since each layer takes the same time).
- If you have a bridge shape (arch bridge, so 2 towers and then gradually into the arch): Layer estimations are way off; filament usage may also be way off, and the File progress will also be off (when completing the arch, the number of commands may reduce, but each command takes longer to complete).
Thus using these estimations, it can provide an idea of how long based on past data (actual printing the job), and coupled with your knowledge of the print, you have an idea of when to expect it to be done.
The number of layers is counted by the firmware, however the PanelDue does not display this right now (it is shown in the DWC). For this I typical take the height (Z) and divide it by the layer height (though this only works when using a fixed layer height).
As to the picture you have added, that is a bed leveling button. Do not press it while printing. There was a discussion a while back to disable a few buttons when a print is ongoing (for example Home, this bed leveling, de-selecting a tool when there are no other active tools etc). This is expected a bit later, but no eta currently available.
This button runs the macro /sys/bed.g
in your system files. This can allow automatic bed leveling (actually adjusting the bed), automatic bed level compensation (simply compensates from an uneven bed), assisted bed leveling (it calculates the bed unevenness and provides instructions to fix it). You can also have it move to predetermined locations, allowing for a full manual bed leveling (does not require a probe) or if you do not want it to do anything, you can simply clear the file (or comment everything out - add a semi-colon before each line ';').