Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add a local gcode storage when doing print uploads #3180

Open
iandouglas opened this issue May 1, 2024 · 3 comments
Open

add a local gcode storage when doing print uploads #3180

iandouglas opened this issue May 1, 2024 · 3 comments
Labels
epic Collection issue or big subproject.

Comments

@iandouglas
Copy link

Per Discord discussion:

The feature request is to add a local gcode storage which can be referenced when doing multi-select print uploads. When a file is selected which the printer does not have (or which is newer from the local source), optionally purge the file and upload it.

Requirement #1: upload progress bar in the webpage should be improved.

Requirement #2: improve/test 400MB+ uploads for FDM Monster API, ensure any upload limits are configurable in settings and documented.

@davidzwa
Copy link
Collaborator

davidzwa commented May 1, 2024

@all-contributors add @iandouglas for idea

@davidzwa davidzwa added the epic Collection issue or big subproject. label May 1, 2024
Copy link
Contributor

@davidzwa

I've put up a pull request to add @iandouglas! 🎉

@davidzwa
Copy link
Collaborator

davidzwa commented May 1, 2024

Thanks @iandouglas. Once this issue receives a milestone, the feature (epic) will be released with that version with high probability. Note this issue will be closed when the feature has been merged. The released moment might still be a while after, depending on the other work items to be completed first.

Addition technical notes to self for later:

When the standardized "printer API" has been implemented, this epic can be tackled. The Printer API should be extended to include an optional setting or check when uploading a file, or when selecting a locally stored GCode (new feature in this feature request issue). This check performs the following steps:

  • FDM Monster performs a file query to the printer API and receives a file's path, size and hash
  • FDMM receives the upload or checks the local storage. It now performs a check whether a hash calculation is required. If the file name is the same, start a hash calculation procedure
  • FDM Monster compares the hash (if so required) and if hash mismatches, performs a printer API file delete.
  • Once file delete is completely (successfully), the new file is uploaded through the Printer API and the print is started

We should keep in mind that this feature might have impact on FDM Monster server CPU usage:

  • Pay close attention to CPU usage and check if a NodeJS worker thread is needed.

More info on the checksum of Moonraker:
https://moonraker.readthedocs.io/en/latest/web_api/#file-upload

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
epic Collection issue or big subproject.
Projects
None yet
Development

No branches or pull requests

2 participants