Silly question......
I'm a bit confused with IS..........
If I flash the 5.0.0RC firmware but for some reason don't want to use input shaper, do I just pick a non IS profile in Prusa Slicer or do I have to reflash the old 4.7.2 firmware?
RE: Silly question......
simple choose the standard MK4 printer. Slice it and send it to the printer (with the 5.0.0RC firmware).
RE: Silly question......
The Prusa employee on the RC release thread said it's best to use IS profiles with IS firmware, though the IS firmware will print non-IS profiles.
RE: Silly question......
Wow, I really disagree with that. Do you have a link to their comments?
IS profiles often result in clearly inferior prints. So I would say use IS profiles when you want speed, and regular profiles when you want to guarantee the best possible print.
The Prusa employee on the RC release thread said it's best to use IS profiles with IS firmware, though the IS firmware will print non-IS profiles.
RE: Silly question......
It wasn’t on the RC release thread, sorry, but yes, here you go: https://forum.prusa3d.com/forum/input-shaping/difference-between-profiles/#post-668981
Specifically, in response to this same question, they said:
non IS profiles can be used on an Input Shaper firmware. However, it is better to use the appropriate profiles for the best performance.
Wow, I really disagree with that. Do you have a link to their comments?
IS profiles often result in clearly inferior prints. So I would say use IS profiles when you want speed, and regular profiles when you want to guarantee the best possible print.
The Prusa employee on the RC release thread said it's best to use IS profiles with IS firmware, though the IS firmware will print non-IS profiles.
RE: Silly question......
From the gcode, it doesn't seem to me that the Input Shaper is somehow activated before every print so I guess with the Input Shaper firmware it's constantly active, affecting the print even if you print with non-IS profiles.
RE:
Wrong: you find the M593 command which enables and specifies InputShaping
RE: Silly question......
Thats interesting. On my PrusaSlicer profile there is in the start g-code, during every layer change and at the end g-code some M593 commands.
If I choose the standard profile (no IS) there is no M593 command - not even at the end.
RE:
huh? lets compare. This is my Start G-Code of the "Original Prusa MK4 Input Shaper 0.4 nozzle" profile:
M17 ; enable steppers M862.1 P[nozzle_diameter] ; nozzle diameter check M862.3 P "MK4" ; printer model check M862.5 P2 ; g-code level check M862.6 P"Input shaper" ; FW feature check M115 U5.0.0-RC+11963 M555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))} G90 ; use absolute coordinates M83 ; extruder relative mode M140 S[first_layer_bed_temperature] ; set bed temp {if filament_type[initial_tool]=="PC" or filament_type[initial_tool]=="PA"} M104 S{first_layer_temperature[initial_tool]-25} ; set extruder temp for bed leveling M109 R{first_layer_temperature[initial_tool]-25} ; wait for temp {elsif filament_type[initial_tool]=="FLEX"} M104 S210 ; set extruder temp for bed leveling M109 R210 ; wait for temp {else} M104 S170 ; set extruder temp for bed leveling M109 R170 ; wait for temp {endif} M84 E ; turn off E motor G28 ; home all without mesh bed level G1 X{10 + 32} Y-4 Z5 F4800 M302 S160 ; lower cold extrusion limit to 160C {if filament_type[initial_tool]=="FLEX"} G1 E-4 F2400 ; retraction {else} G1 E-2 F2400 ; retraction {endif} M84 E ; turn off E motor G29 P9 X10 Y-4 W32 H4 {if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif} G0 Z40 F10000 M190 S[first_layer_bed_temperature] ; wait for bed temp M107 ; ; MBL ; M84 E ; turn off E motor G29 P1 ; invalidate mbl & probe print area G29 P1 X0 Y0 W50 H20 C ; probe near purge place G29 P3.2 ; interpolate mbl probes G29 P3.13 ; extrapolate mbl outside probe area G29 A ; activate mbl ; prepare for purge M104 S{first_layer_temperature[0]} G0 X0 Y-4 Z15 F4800 ; move away and ready for the purge M109 S{first_layer_temperature[0]} G92 E0 M569 S0 E ; set spreadcycle mode for extruder ; ; Extrude purge line ; G92 E0 ; reset extruder position G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning G0 E7 X15 Z0.2 F500 ; purge G0 X25 E4 F500 ; purge G0 X35 E4 F650 ; purge G0 X45 E4 F800 ; purge G0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed G0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed G92 E0 M221 S100 ; set flow to 100%
But IS is definitely activated. I did some testprints with my unit and with 5.0.0-RC it gives clearly better results (much less ringing) with the faster STRUCTURAL profile than with 4.7.2 and standard profile. Using PrusaSlicer-2.6.1-rc1
RE: Silly question......
here it comes:
M17 ; enable steppers M862.1 P[nozzle_diameter] ; nozzle diameter check M862.3 P "MK4" ; printer model check M862.5 P2 ; g-code level check M862.6 P"Input shaper" ; FW feature check M115 U5.0.0-RC+11963 M555 X{(min(print_bed_max[0], first_layer_print_min[0] + 32) - 32)} Y{(max(0, first_layer_print_min[1]) - 4)} W{((min(print_bed_max[0], max(first_layer_print_min[0] + 32, first_layer_print_max[0])))) - ((min(print_bed_max[0], first_layer_print_min[0] + 32) - 32))} H{((first_layer_print_max[1])) - ((max(0, first_layer_print_min[1]) - 4))} G90 ; use absolute coordinates M83 ; extruder relative mode M140 S[first_layer_bed_temperature] ; set bed temp {if filament_type[initial_tool]=="PC" or filament_type[initial_tool]=="PA"} M104 S{first_layer_temperature[initial_tool]-25} ; set extruder temp for bed leveling M109 R{first_layer_temperature[initial_tool]-25} ; wait for temp {elsif filament_type[initial_tool]=="FLEX"} M104 S210 ; set extruder temp for bed leveling M109 R210 ; wait for temp {else} M104 S170 ; set extruder temp for bed leveling M109 R170 ; wait for temp {endif} M84 E ; turn off E motor G28 ; home all without mesh bed level G1 X{10 + 32} Y-4 Z5 F4800 M302 S160 ; lower cold extrusion limit to 160C {if filament_type[initial_tool]=="FLEX"} G1 E-4 F2400 ; retraction {else} G1 E-2 F2400 ; retraction {endif} M84 E ; turn off E motor G29 P9 X10 Y-4 W32 H4 {if first_layer_bed_temperature[initial_tool]<=60}M106 S100{endif} G0 Z40 F10000 M190 S[first_layer_bed_temperature] ; wait for bed temp M107 ; ; MBL ; M84 E ; turn off E motor G29 P1 ; invalidate mbl & probe print area G29 P1 X0 Y0 W50 H20 C ; probe near purge place G29 P3.2 ; interpolate mbl probes G29 P3.13 ; extrapolate mbl outside probe area G29 A ; activate mbl ; prepare for purge M104 S{first_layer_temperature[0]} G0 X0 Y-4 Z15 F4800 ; move away and ready for the purge M109 S{first_layer_temperature[0]} G92 E0 M569 S0 E ; set spreadcycle mode for extruder ; ; Extrude purge line ; G92 E0 ; reset extruder position G1 E{(filament_type[0] == "FLEX" ? 4 : 2)} F2400 ; deretraction after the initial one before nozzle cleaning G0 E7 X15 Z0.2 F500 ; purge G0 X25 E4 F500 ; purge G0 X35 E4 F650 ; purge G0 X45 E4 F800 ; purge G0 X{45 + 3} Z{0.05} F{8000} ; wipe, move close to the bed G0 X{45 + 3 * 2} Z0.2 F{8000} ; wipe, move quickly away from the bed G92 E0 M221 S100 ; set flow to 100% M593 X T2 F50.7 M593 Y T2 F40.6
RE:
Interesting. The Start G-Codes are the same but you got the two additional M593 commands at the end. Makes me also wonder if, when a print finishes and my the End G-Code gets executed, IS is turned off until the next restart of the printer. 😄 Makes me also wonder why your profiles are different than mine in the first place. What happens when you click on Configuration --> Check for Configuration Updates?
RE: Silly question......
That makes the difference. The new profiles skiped the M953 command. Must be a configuration mistake and will hopefully corrected. I reactivated my old profiles. If you copy to your g-code don't forget the chanes in the layer-change section:
;BEFORE_LAYER_CHANGE G92 E0.0 ;[layer_z] M593 Y T2 F{interpolate_table(extruded_weight_total, (0,40), (300,30), (800,20), (10000,20)) } M201 X{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))} Y{interpolate_table(extruded_weight_total, (0,4000), (1400,2500), (10000,2500))} M74 W[extruded_weight_total]
RE:
Very interesting. Apparently the IS for the y-axis is reconfigured all the time while the print progresses and more mass is extruded, which is actually pretty smart. Apparently they somehow forgot it in the newest profiles. Amazing. 🙄 Still wondering if the IS is activated by default though, since I get better printing results, even with the missing M593 command in the Start G-Code.
RE: Silly question......
I just reported this to the PrusaSlicer Support
RE: Silly question......
I also noticed yesterday that the two entries in the start gcode are missing.
I have an additional profile and wanted to see if something was changed in the original.
Can it be that it was outsourced in the firmware? There is also an input shaper menu where the frequencies could be set.
At the moment not yet but maybe in preparation for the final input shaper version.
RE:
Possible. Actually Input Shaping should be something that's more within the regime of the motion system of the printer and shouldn't need to be set up by the G-Code every time. But still it's a nice thing to be able to tune the IS or even disable it, which is why the M593 command still makes total sense. But what doesn't make sense is that there's only an M593 command in the End G-Code that disables the IS for good. (maybe the FW just ignores the command for now). Maybe the guys at Prusa are still in the process to make up their minds about how to handle IS in general. Let's see what they answer to my support request.
RE: Silly question......
Hey,
Did you get an answer about why the M593 command is only in the end g-code ?
It might be that the M74 command enables IS, as it is used to update the weight before every layer change.
Some clues for those wanting to dig further: