Skip to content

0.7.0.rc1

Pre-release
Pre-release
Compare
Choose a tag to compare
@ondratu ondratu released this 13 Sep 13:49
· 338 commits to master since this release

Release notes

The PrusaLink website has been refactored and contains a number of changes and improvements - see the full changelog.

The READY state, which allows automatic printing from the Connect print queue, can now be set from the printer menu. It is necessary to create a “PrusaLink menu” folder on the SD card - in this folder, a G-Code file is then automatically created. By running it, the printer is set to the READY state.

PrusaLink menu item

PrusaLink uses a new API (https://github.com/prusa3d/Prusa-Link-Web/blob/125a944432817d0d7f4b213cca656370f32374c6/spec/openapi.yaml) which adds new endpoints for retrieving printer and storage information and implements a newly preferred method of uploading files using the PUT method that offers, among other things, faster upload speeds.

The LCD screen now displays information about an available Wizard, error notifications, as well as progress and direction of file uploads (Sync|->: indicates transfers from the printer and Sync->|: transfer to the printer)

File transfer screen

In the configuration wizard, you can upload prusa_printer_settings.ini file containing a saved PrusaLink configuration. During the configuration process, it is possible to skip the registration and continue to Connect directly. Then, you can finish the registration in the Settings screen on the PrusaLink website. You can also delete the registration from here.

When the setup wizard is run, PrusaLink detects the available ports and displays information about their status and whether a connected printer has been detected on any of them. On successful detection, it switches to the welcome page.

Wizard with ports list

Also, experimental support for MK2.5/S printers has been added. Unlike the MK3 series printers, the MK2.5/S does not have an EINSY port and PrusaLink can only be connected via USB.

The API key is disabled by default and the preferred authentication method is HTTP digest, i.e. using a username and password. The username and password must meet the minimum requirements. The name must be at least three characters long.

The password must meet at least one of the following requirements:
Minimum length 8 characters, 1 lower case letter, 1 upper case letter, and 1 number.
Minimum length 8 characters, 1 special character (e.g. @)
Minimum length 15 characters
PrusaLink now uses adaptive telemetry and only sends important changes, saving bandwidth and putting less strain on the connection to Connect.

PrusaLink supports DNS discovery service, making it discoverable on the network. This allows PrusaSlicer to locate available PrusaLink enabled printers.

Discovery service

The configuration file prusa_printer_settings.ini can now (like the wpa_supplicant.conf file) be inserted into the BOOT partition of the microSD card and PrusaLink will detect it correctly there.

ChangeLog

* Work around a bug: printer in serial print mode while wizard is shown
* READY state changed to IDLE, PREPARED state changed to READY
* New status display
   - notifies about setup wizard,
   - shows upload progress
   - shows the name of a file being printed
   - notifies about errors
   - shows an idle screen with the IP address after 30min
   - add idle screen and show transfers during print pauses

* Name and location of printer value validation
* Fix negative timeout being possible in serial read
* Additional Connect (un)registration support
* File and Directory name validation refactoring
* Fixed transfer and print in ATTENTION error
* New Connect API support
* Fix PrusaLink IP not getting reset from printer on shutdown
* Fix the serial_number step in wizard
* Fix unicode characters in file names breaking lcd printer
* Make RESET_PRINTER clear the command queue and have priority that way
* Made the app stop itself faster
* Use M400 instead of G4 for printer queue syncing
* Reworked validation of correct S/N write
* Modified username length and password length and format validation
* Use "Sync|->:" and "Sync->|:" to signify which way is the current transfer going
* Add DNS service discovery compatible with PrusaSlicer
* Support file upload cancels from PrusaSlicer
* Static web update:
   - Fix big log files displaying
   - Decrease display log file size limit to 1M
   - Change temperature controls widget number format to display integers
   - Add stop/resume print button
   - Add protection from steppers disabling when printing
   - Fix sidebar width
   - Replace PNG icons with SVG
   - Fix router, telemetry graph dinmensions and page layout
   - Update error handling to avoid duplicates of popups
   - Add support for file extensions provided by printer profiles from API
   - Fix display names of origins
   - New application design
   - New field to rename project file uploaded by URL
   - New widget displaying used/free size (not-connected to printer yet)
   - New Rename and Copy actions (hidden)
   - New tool to unify icons colors
   - Updated free space logic
   - Fixed storage tabs behavior
   - Avoid unnecessary requests to BE for file metadata
   - Hardcode storages list to printers
   - Removed page `Temperatures`
   - Fix formatting of percentages
   - Project preview is now not dependent on `/api/job` endpoint
   - Confirm dialog after uploade via drag zone
   - Nozzle diameter
   - Offline mode
   - Connect Like icons
   - Translaction fallbacks

 * Differentiate between FW and ID errors in the wizard, update texts
 * Fixed download ref, added total storage space info
 * Added storage space info to api/printer
 * Added function for save file with custom name
 * Add dynamic download throttling when printing
 * Added caching for thumbnail images
 * Send printer info on printer reset / info invalidation event
 * Fixed error handling for PrusaLink Web
 * Reset print stats after a print ends
 * Fix print fail from a unchecked print buffer underflow
 * Report mesh bed levelling data
 * Use the print mode to report the right print stats row to connect
 * Make sure fan errors send reason, improve their behavior a little
 * Fix SD Card module race conditions
 * Make it possible to hide certain loggers from interesting log
 * Filter telemetry, send only what's "significantly" changed
 * Fixed maximum temperature check for nozzle and heatbed
 * Api-Key is implicitly None, can be set in wizard or using endpoint
 * Start PrusaLink even without a connection to the printer
 * Start sending telemetry slowly after a period of inactivity
 * Files can be printed without selecting first, fixed job printTime info in api/job
 * Don't wait for a printer to boot when running through the EINSY pins
 * Added api/v1/info endpoint
 * Add printer statistics tracking
 * Add time to filament change tracking
 * Add sheet settings tracking
 * Return a better reason when print of a non existent file is requested
 * Make printer settings reflect the actual printer type
 * Fixed doubled gcode extensions when custom name is used
 * Added nozzle diameter info to api/v1/info
 * TLS is changed from int to bool
 * Added endpoint for capture an image from a camera
 * Fixed check for negative temperatures of nozzle and bed
 * Add a special SD menu to set the printer to READY from the LCD
 * Add boot partition config copy script (for RPis)
 * Added endpoint api/v1/storage with storage info
 * Round auto guessed preheat temps to the nearest five
 * Remove any irrelevant telemetry right on state change
 * Added endpoint api/v1/<storage>/<path>
 * Add automatic serial port scan
 * Use USB S/N if available (fixes MK2.5 SN issues)
 * Added endpoint with a list of available ports
 * Added capabilities flag to api/version
 * Added min extrusion temp to api/v1/info endpoint, fixed value
 * Added optional ro parameter to api/files and api/v1/{storage}/{path} endpoints
 * Added link_state parameter to api/printer endpoint
 * Fixed item updater allowing invalidation of a disabled item
 * Fixed upload PUT Print-After-Upload if already printing error
 * Added api/v1/<storage>/<path> delete endpoint
 * Fixed a semicolon in a filename being printed breaking everything
 * Fixed a bronken RESET_PRINTER for raspis connected through USB