-
Notifications
You must be signed in to change notification settings - Fork 246
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
[BFW-5513] gui: Add custom filament temperature settings #3657
Conversation
Rebased to v5.1.2 as requested |
The above procedure would yield 'anonymous' filament names, and post-it notices on the printer. Sequence number for a filament will be different for each printer. |
What do you mean by sequence number ? The filament can be identified and set using the filament name, in this case "CUSTOM_1" for Slot 1 instead of "PLA". Of course an additional gcode could be added to set the Slots using serial port / Prusa Slicer if needed, but that is out of the scope for this PR as it would introduce a lot of issues and even more testing. There aren't unlimited slots as the firmware has a limit of a max of 4 slots (due to the menu structure limiting to a max. of 16 items). It might be possible to assign a name for each slot if needed, but that is also right now out of the scope. |
By sequence number I mean the number behind the "CUSTOM" string. I do not understand why you say extra gcodes would be neded. The present GCODE files already contain all the necessary info.
In short I suggest the printer takes these data for material, hotend temp and bed temp and stores this in the 'custom' slot indicated by the user, to be used like any other material from that moment on. Another question while I am 'at it' Does the info in these custom slots survive a firmware update? |
The sequential number you are refering to is the slot number. It's not possible to give custom slot names such as "CUSTOM_PCGT" as the main issue is, that these values have to be stored in the eeprom as well and the variable needs to be in a hardcoded array that is being stored in the eeprom. It would be possible to store a name for the slot, but still PrusaSlicer would have to configure a slot, as the names are hardcoded in the firmware. I don't see any easy way to change that behaviour without changing huge portions of the firmware, sorry :( Of course you could also save the custom name to the slots in the eeprom and compare against the filament_type in the gcode, but that would require a lot of eeprom space as you would need to reserve a fixed space like 16 chars for each slot (4) and also the user would need to enter the name manually into the printer, which I haven't seen a functionality in the printer to do that so far. Would be doable, but would also take a lot of time and testing (and also might not be possible for the mini printer). 4 Slots are the max limit due to a max of 16 items on the screen, and 12 menu items are already hardcoded. Changing that limit might cause big trouble for the mini printer fw due to hw restrictions and does also mean huge changes to the current firmware as far as I could see so far. |
Thank you Björn for the extensive answer. I understand the issue better now. The LCD screen thing is not just a monitor and peripheral for the buddy board. This may be explained from a historical background but too bad a new printer type launched less than a year ago now already runs into such limitations. |
I will seek into that, but not sure if there will be an easy way to do that, @FVerbass :D |
I just defined custom material CUSTOM_1 in Prusaslicer (saved a copy of Fiberlogy PCGT) and made a GCODE file with that material type. I attached a zipped copy. |
Thanks, will try the gcode on the simulator :) |
Seems there is an issue as the gcode preview does truncate the filament type to "CUSTOM_", missing the slot. Gonna need to have a look if CUSTOM_1 needs to be replaced by "CUST_1" or if the length can be increased. |
indeed, there is a limitation in filament_buff to have a max size of 8 chars |
f4f6d8f
to
abed668
Compare
I've solved it now by increasing the char buffer size to 9 :) Tested and it seems to work fine printing your gcode @FVerbaas. |
Excellent!
The actual name is immaterial of course, as long as it can be read and
lines up with what is hardcoded.
Thanks and regards,
Frans
Op za 13 jan. 2024 23:55 schreef Bjoern Kerler ***@***.***>:
… I've solved it now by increasing the char buffer size to 9 :) Tested and
it seems to work fine printing your gcode @FVerbaas
<https://github.com/FVerbaas>.
—
Reply to this email directly, view it on GitHub
<#3657 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANPPP5NODLZI4CHSETCR553YOMGERAVCNFSM6AAAAABBKMJQACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJQG44DOOJTHA>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
Frans, yes, having the filament name instead of "CUSTOM_1" would be great, but I don't see any easy way to set a custom name via the user interface right now, except we introduce a new gcode to allow setting custom names.But that wouldn't be very userfriendly and may introduce security issues. Guess I need to discuss that with the prusa guys, maybe it can be added to the web interface. |
There is a workaround for the short term but yes if you have the channels please raise it with them. To me it came as a disappointment. One buys a 1000+EURO printer; the launched less than a year ago top line model of a top notch manufacturer, and then one has to go exploiting loopholes in the manufacturer's own slicer app (writing in what appears to be intended a pure drop-down selection box) to make a clone of a known material definition only to give it a special name so it can be recognized by the printer. |
I had a chat with the devs and there is currently a development for text entry. So I will prepare the commit for adding custom names to the slot, then the user shouldn't have to remember custom names ;) |
Great!
Thx.
Op di 16 jan. 2024 09:18 schreef Bjoern Kerler ***@***.***>:
… I had a chat with the devs and there is currently a development for text
entry. So I will prepare the commit for adding custom names to the slot,
then the user shouldn't have to remember custom names ;)
—
Reply to this email directly, view it on GitHub
<#3657 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANPPP5NAIOAS33SWZ3U2P5TYOYZTXAVCNFSM6AAAAABBKMJQACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQOJTGI2TKNRTGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
406f05b
to
a53d18d
Compare
@FVerbaas, it has now option to change names and filament temperatures using prusa_printer_settings.ini, so you don't have to remember what CUSTOM_1 etc. was :) |
Great!
Thanks for letting me know.
Frans
Op zo 21 jan. 2024 16:48 schreef Bjoern Kerler ***@***.***>:
… @FVerbaas <https://github.com/FVerbaas>, it has now option to change
names of the filament using M703 command, so you don't have to remember
what CUSTOM_1 etc. was :)
—
Reply to this email directly, view it on GitHub
<#3657 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANPPP5KO64ET7OZ4JUWVENTYPU2DLAVCNFSM6AAAAABBKMJQACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMBSGY3TMMJSG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
I just loaded Willowflex filament into my XL. Recommended nozzle temperature is from 180°C to 200°C. Closest filament to load Willowflex is PLA with 215°C. At this temperature, Willowflex is nearly flowing through the nozzle by itself. Way too liquid. 215°C ist too hot for Willowflex. I expect problems when unloading, as retraction leads a still overheated filament back to the extruder. We really need common filament settings! The sooner, the better! And please reconsider to place these custom settings editable in a file on the USB Stick. I wouldn't like to fiddle around with the printer display. |
Internal ticket for this feature: BFW-5513 |
Yes, I do. But those changes need to be implemented internally after discussion with the whole team and such. Not suitable for an external PR, sorry. I will push for doing it. |
An intermediate solution would be to work from the settings in the GCODE file that is to be printed. The header of the file, at least those generated by PrusaSlicer, contain the printing temperature. The printer could use that for loading filament. |
thx @CZDanol. Highly appreciated. |
Its great to see this is progressing. Several times I have used unusual filaments but found it a pain having to mess around with temps or compromise "similar" filament type selections in the slicer and during load/unload. Better to identify the material correctly. May I suggest the Prusa Connect folks might need to have a look at this too, because the statistics screen identifies filaments by type. |
@bryn51 we are coordinating with the Connect guys, but it will probably be first implemented on the printers and then receive full Connect support some time later. |
Good to hear this now gets attention. It really is a shame that we have to
use all these tricks to fool the printer and the software, even for
filament sold by Prusa themselves.
Op vr 26 jul. 2024 08:37 schreef Danol (Daniel Čejchan) <
***@***.***>:
… @bryn51 <https://github.com/bryn51> we are coordinating with the Connect
guys, but it will probably be first implemented on the printers and then
receive full Connect support some time later.
—
Reply to this email directly, view it on GitHub
<#3657 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ANPPP5MTFI54G5CTOD53E7DZOHVCNAVCNFSM6AAAAABBKMJQACVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENJSGA3TGNZUG4>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
|
???? |
Yes, you are correct. Filament type support is definitely something that needs to be consulted with the Connect, and the Slicer teams. I've mentioned that two comments above yours :) I was also responding to "for example not using responses in the preheat menu" - and that is a very technical thing. Basically, that is a rather large conceptual change in the codebase that requires consultations across the dev team, so it's not something that can be just handed to us by an external developer. We would need to integrate him in the team deeply and well, then he wouldn't be external anymore. |
Ah, apologies I missed that comment above - thank you for the clarification! My main reason for asking was because I (and almost everyone I've talked to) bought into Prusa's ecosystem to help support open source development. This being said - an easy solution to the problems described here (I mean, except for PrusaConnect of course) would simply be to default to having discussions around this kind of design in the open wherever possible - as doing so dramatically reduces the complexity in working across teams with outside contributors and makes this sort of thing a non-issue. It's also kind of the standard in FOSS Would a compromise of some sort here be acceptable in the mean time? Even being able to only configure a custom temperature through an ini file would be quite useful, and seeing as prusaslicer is open source and on github already this seems like something that would be pretty easy to coordinate. Functionality that Prusa in the GUI that prusa wants to keep in sync with services like PrusaConnect could certainly come later and I think a lot of people would still be pretty happy with that. This is also basically the way that Wi-Fi passwords were handled in Prusa's firmware up until the most recent firmware updates, and that didn't seem to be too much of an issue for most users. |
@Lyude No need for compromises :) We've just released a 6.2.0 alpha1 FW with a fully featured user material support :) https://github.com/prusa3d/Prusa-Firmware-Buddy/releases/tag/v6.2.0-alpha1 Closing this PR. |
|
@bryn51 There are no changes needed on the PrusaSlicer side. Everything should work out of the box. |
@bryn51 , the filament settings in the printer are for loading/unloading filament. The filament settings in the slicer ar for actual printing |
Oh, actually, I forgot - yes, there will be some small changes in the Slicer. They will be adding fields to configure filament abrasivity and extruder hardened/high flow nozzles |
Thanks for your response, but it begs the question: |
|
Thats also a big deal and welcome. unclear what behavior change on PS or the printer might occur, but speculatively one might expect it to influence maximum Flow rate and motion speed.(for CHT). |
Flow rate and motion speed is determined by the printer profile in the slicer. These fields will be intended for compatibility checks. |
I get it. So "custom_x" just used as example. makes sense. |
@bryn51 the CUSTOM_X was used as an example for this PR - but this PR was not merged, we implemented the things differently. So the demo image you see on the top has nothing to do with how things work on the printer. |
Yeah, custom_1 .. custom_4 was just at the beginning of the PR, but it was modified to use any filament name instead afterwards. Prusa has even added more functionality and so far I'm pretty happy about it (it looks pretty familiar to what I did) :D |
@bkerler Thank you for all the energy, you invested to create a solution! |
Refers to issues #3643, #2210, #3633, #3589, #3667, #3786 and for sure even more.
As many users requested to add custom filament settings for PHA, NGEN etc. and it is forseeable that many more filament types will appear, it does make sense to add custom modifiable filament temperature settings.
Here's an example of the implementation:
It was fully tested to be GUI conform on the MK4 and Mini. It also compiled without issues on the XL.
The 4 custom filament slots can be set via "prusa_printer_settings.ini", for example:
Copy the prusa_printer_settings.ini to usb stick, then load via "Settings->System->Load settings from file" and it will be available immediately on the printer.