-
-
Notifications
You must be signed in to change notification settings - Fork 43
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
[Feature] Allow Obico to Reprint from GCode stored on Octoprint-server if not available on Obico-server #220
Comments
We don't have the re-print button for gcode files in octoprint or klipper because there will be too many edge cases, such as:
Before we have a good way to handle edge cases like these, we can't add the "reprint" function. |
At least for Octoprint, all of the above edge cases could be mitigated if not solved if Obico stored the md5sum of the gcode in the Basically, at the time of printing when the new Gcode info is added to the Then at a later time when using Print history, the Obico server would query the api again to check if:
If check 1 & 2 pass, then the reprint button would be enabled. If not, it stays grayed out. Are there any edge cases not covered by the above? |
Alternatively, while not as robust, you could use the existing Of course, I understand that this might not be a priority at all - but technically I don't see any big conceptual issues to getting this right almost always. And even if not perfect, it would still be better than the Octoprint list of gcodes that is much harder to navigate and silently overwrites itself so long as the name/print-time/filament-type are the same. |
Klipper is trickier, but it is still technically possible. Still, the user experience will be bad - in case of md5 mismatch, how do we explain it to the user? |
Currently, it seems that Obico can only "reprint" if you originally had uploaded the GCode to Obco-server but not if you had launched the print from Octoprint.
It would be great if the 'Reprint' feature would work more generally so that:
This should not be too hard to do since Obco is already using the Octoprint api to allow users to browse and launch Gcode files stored on Octoprint from the "Printers" tab when you click on "Octoprint" under the heading "Open G-Coe File to Start Printing"
The suggested implementation logic would work roughly as follows.
resident_printer_id
stored in theapp_gcodefile
table to determine if the GCODE was uploaded to Obico or started with Octoprint (and then this is the Printer ID) [From my chat with @apex, I believe this is what the field does]url
field in theapp_gcodefile
table to launch the print from Octoprint (using the api similarly to how it is done now when you browse the GCode tree on Octoprint under "Open G-Code File to Start Printing").If GCode file no longer present return a "file not found" error.
There are multiple reasons why one may want to load your initial file from Octoprint but later want to reprint from Obico.
For example, most of the time I launch my printing from Prusa Slicer which has an automatic upload to Octoprint (and I don't think it can upload directly to Obico).
At the same time, I use Obico to monitor prints and I prefer it's print history to Octoprints -- so I often use Obico to identify a historical print that I want to reprint.
Thanks!
The text was updated successfully, but these errors were encountered: