Skip to content

SnapScreen_0.5.0_firmware

Choose a tag to compare

@AlphaStudioDE AlphaStudioDE released this 08 Sep 22:14
· 6 commits to main since this release

SnapScreen 0.5.0

A stronger foundation for every screen

This release focuses on the everyday experience: opening files, switching views,
watching the camera, inspecting G-code and controlling the printer. Behind those
screens, we have reviewed and strengthened connection handling, background tasks,
memory use and the checks that protect printer operations.

The highlights: more reliable screen transitions, better-behaved camera and
preview loading, more accurate G-code interpretation, and substantial work on
the experimental CFS Nano integration.


Interface and everyday controls

  • Files and Macros: fixed background-loading and dialog ownership problems
    when moving between the main screen and customizable side panels. Closing an
    old screen no longer invalidates the newly opened panel's data.
  • File thumbnails: improved loading around the visible list, retries for
    individual failed thumbnails, and protection against outdated results appearing
    after navigation or a selection change.
  • Printing: controls now recheck the current print session and connection
    state. Cancel confirmation belongs to the job it was opened for, and repeated
    taps are limited to prevent immediate duplicate requests.
  • Automatic print-screen navigation: improved session tracking, including
    starting another print with the same filename.
  • Temperature and Tune: nozzle controls explicitly target the active
    extruder. Partial temperature updates no longer replace its readings with
    another heater's values.
  • Flow: now follows the printer's reported extrusion multiplier, including
    a genuine zero value instead of incorrectly displaying 100%.
  • Settings: failed settings writes are reported rather than treated as
    successful changes. Maintenance actions recheck printer readiness before
    interrupting a connection or changing stored configuration.
  • Screenshots: incomplete captures are rejected instead of silently saving
    an image with missing overlay content.

Camera and previews

  • Switching camera sources no longer starts competing background workers.
  • Entering fullscreen preserves the camera source and session while updating
    the output size, with zoom handled relative to the source crop.
  • Camera frames and status updates are checked before publication so results
    from an old source cannot overwrite the current view.
  • Removed an extra HD image copy, saving approximately 4 MB of working memory.
  • Improved thumbnail publication and temporary-file handling. Incomplete
    downloads no longer replace a previously valid preview.

G-code Viewer

  • Corrected coordinate-reset handling (G92) to avoid artificial jumps in
    rendered geometry.
  • Improved arc interpretation, including supported circular and helical moves,
    plane selection and absolute/relative arc-center modes.
  • Invalid or unsupported arcs are reported rather than drawn as misleading
    straight extrusion paths.
  • Improved layer counting to avoid counting Z-hop moves or duplicate layer markers.
  • Lightweight rendering samples the elements that remain visible after filtering.
  • Added clipping before line rasterization to handle extreme off-screen geometry.
  • Corrected progress calculations for large G-code files.
  • Oversized commands and incomplete streams are rejected rather than presented
    as a successfully loaded, complete model.
  • Introduced a shared PSRAM budget for 3D geometry, leaving room for the rest of
    the interface. Reaching a model limit is explicitly reported as a partial preview.

Printer operations and calibration

  • Manual movement preserves and restores G-code parsing state; manual extrusion
    explicitly uses relative extrusion mode.
  • Homing, motor controls, offset saving and calibration check current printer
    state before proceeding.
  • Bed Mesh calibration and live screw leveling share operation ownership,
    preventing overlapping procedures within SnapScreen.
  • Improved cancellation and heating/soak timeouts. An unconfirmed stop remains
    visibly unresolved instead of immediately allowing another calibration.
  • Invalid, incomplete or non-finite mesh data is rejected instead of being
    displayed as a valid bed surface.
  • Manual filament-change confirmations are tied to their print session and
    request. Normal Resume requires a fresh, affirmative sensor reading; Force
    does not bypass print-session checks.

Terminal, connectivity and OTA

  • Terminal SD loading and log export run in the background. Failed queue
    submission keeps the user's input, and oversized commands are rejected in full.
  • Existing command files are preserved when empty or unreadable rather than
    overwritten with defaults.
  • Centralized WebSocket ownership and bounded command queues reduce conflicts
    between the interface and connection lifecycle.
  • Outdated queued commands are discarded when their connection context changes;
    movement commands are not automatically replayed after reconnect.
  • Shared printer-state snapshots give screens a consistent view of telemetry.
  • HTTP downloads now check response completeness before accepting files or metadata.
  • Improved coordination between OTA and Moonraker, and restored TLS hostname
    verification alongside certificate validation.

CFS Nano and NightOwl

CFS Nano remains experimental. This release strengthens its software
integration, but full physical protocol and filament-handling validation is
still pending. It is not a declaration of production-ready changer support.

  • Fixed the stack-protection panic encountered when opening the CFS screen.
  • Strengthened separation between CFS Nano and NightOwl, including backend
    selection and Auto/Manual/Off checks.
  • Command results are retained independently of heartbeat updates and UI selection.
  • Missing acknowledgements no longer trigger automatic repetition of filament
    feed or retract commands.
  • Cancellation invalidates pending CFS work. If physical stopping cannot be
    confirmed, the interface reports that uncertainty explicitly.
  • Added stricter sensor freshness checks and correlated script responses.
  • Numbered change requests help reject duplicate or out-of-order markers within
    a print session.
  • Readiness checks focus on the units actually required by the operation.
  • Improved protection against conflicting file-processing/upload jobs and
    incomplete local writes.
  • NightOwl unload failures no longer masquerade as a completed change followed
    by an automatic resume.

Downloads

Asset Purpose
firmware.bin Standard / normal SnapScreen hardware
firmwarexl.bin SnapScreen XL hardware
version.json OTA version manifest shared by both variants

Choose the firmware for your hardware variant. OTA uses the variant selected
in the installed firmware. The manifest version for this release is 0.5.0.

Validation and testing notes

  • 34 regression scripts passed.
  • Standard and XL builds completed successfully.
  • The earlier CFS screen-entry fix was verified on both devices without the
    previously observed stack panic. The final Files/Macros side-panel changes
    have regression/build coverage but still need on-device interaction testing.
  • Factory C6 firmware and XL panel-rotation settings remain unchanged.
  • Physical CFS behavior, delayed acknowledgements, stop/runout scenarios and
    hardware-specific display behavior still require testing. This release does
    not claim to eliminate every possible display flash or rendering stall.

When reporting a problem, please include your hardware variant, firmware
version
, steps to reproduce, and serial logs if available. For camera
or 3D-viewer issues, also include the selected source or a reproducible G-code file.