Skip to content

Version 2.7

JeffB42 edited this page Mar 28, 2021 · 11 revisions

Introduction

Welcome to OctoScreen version 2.7. This release features several big improvements to the Files panel, fixes for a few crashing bugs, and improved logging.

What's New In Version 2.7

The biggest improvements in version 2.7 are the various enhancements to the Files panel, including:

  • Ability to not only browse OctoPrint's local files, but files on SD cards as well (however, there are some limitations to this - more on this later)

Select source location

(note: The SD card mentioned here is the SD card reader that's on your printer's motherboard, not an external SD car reader plugged into your Raspberry Pi)

  • Added alternating background color to list items in the file browser. The alternating background color makes it easier to distinguish one row form another.

List items with alternating background color

  • Filenames are now truncated with the "..." at the end instead of the middle. Normally, when one truncates a string, the string is truncated the middle and the characters which were removed are replaced with "...". When browsing g-code files, most of the important information is at the beginning and middle of the filename, and the least important information is at the end (like ".gcode", or the layer height and other settings if your slicer appends this information). I changed this so the truncation happens at the end. It's a little thing, but it adds quite a bit to the "quality of life" here.

  • When present, a thumbnail image of the model is now displayed. Please note that this feature requires either the Prusa Slicer Thumbnail plug-in or the Cura Slicer Thumbnail plug-in to be installed, and only works for models in OctoPrint's local file system, and does not work for models on SD cards.

Thumbnail preview

  • Users can now tap anywhere in the row to select it.

Selected row

  • Confirmation modal dialog boxes now have a white border, making it clearer to see.

Confirmation dialog box with white border

  • Added the filename to the print confirmation dialog box. I should point out that for now, this dialog box uses the GTK's standard confirmation dialog box and only displays the name in the contents. I looked into displaying the thumbnail as well, but the standard confirmation dialog box in GTK isn't very customizable, and I would need to recreate the entire window. I haven't ruled it out, but for the moment I'm sticking with using GTK's standard/built-in confirmation dialog box.

  • Added support for multi-extruder/single nozzle systems (like the Prusa MMU). The Filament panel now has a toggle control to toggle between extruders.

  • Filament panel with single hotend and multiple extruders

Filament panel-single hotend and multiple extruders

  • Filament panel with multiple hotends and multiple extruders

Filament panel-multiple hotends and multiple extruders

  • Filament panel with single hotend and single extruder

Filament panel-single hotend and single extruder png

SD Card Limitations

I'm going to be blunt. I don't recommend printing from an SD card. Although functional, there are many limitations, and printing from OctoPrint's file system is a much richer experience than from an SD card. You've heard the saying before - a chain is only as strong as its weakest link. Well, OctoScreen relies on OctoPrint, OctoPrint relies on the printer's firmware (Marlin), and file browsing isn't very well supported in the firmware of most printers. Here is a list of issues I found while implementing browsing and printing from an SD card:

Bug Fixes

  • Fixed a bug which caused OctoScreen to crash if the printer wasn't on.
  • Fixed a bug pertaining to the default filament extrude length and default load length. When set to a long length, this would sometimes cause the application to crash on machines with direct drive extruders. I fixed a few things in this area, and I set the default length to 100mm. If you have a bowden extruder, or you want to change the length to a different value, you can customize this and set the length if you have the plug-in installed.
  • Fixed a bug with the load/unload g-code being incorrect. For load, unload, extrude, and retract, OctoPrint's extrude command is now used for each of these actions.
  • @thebelne - Fixed a bug where the log level was always defaulting to Debug
  • @thebelne - Fixed a bug where, when a watchdog event wasn't given enough time to complete the app would crash.
  • @thebelne - Added ability to enter a space in the Network Connection panel
  • @thebelne - Fixed a bug pertaining to custom control with a confirmation not working
  • @thebelne - Fixed a bug pertaining to custom control with multiple commands not working

Infrastructure

  • Added more logging.

Refactoring

  • Break up the Monolith! Broke up several large files in mcuadros/go-octoprint (like common.go (871 lines), and printer.go (490 lines)) into smaller individual files.
  • Hard fork of the mcuadros/go-octoprint code into octoprintApis and octoprintApis/dataModels. There were so many changes, it didn't make sense to keep it in the original repository.
  • Moved logger into it's own folder/package. This isolates logger from other files in utils, and means it doesn't have any other dependencies, allowing it to be used in every package.