Wim62 schreef: ↑15/11/23, 21:03
Dan zou ik het gewoon bij de standerd firmware houden .
Ja
dat zou ook kunnen... maar ik vind het juist leuk om dit proberen aan de gang te krijgen....
en ik heb meer printers staan, dus tis niet dat ik hem super hard nodig heb.....
MaestroLmpio schreef: ↑16/11/23, 07:33
Ik heb geen ervaring met "kleurenmixen", maar na wat opzoekwerk zie ik dat de M163 en M164 ook een macro zijn in Marlin, dus die ga je niet in de "standaard" klipper vinden. In dit geval en zoals in vele andere gevallen kan je hier dan zelf je macro voor maken en toevoegen aan je config.
In de onderstaande link lijkt het erop dat iemand dit heeft kunnen maken en implementeren. scroll naar de laatste post (gebruiker aes) en daar vind je een snippet van zijn config en de gebruikte macro. Succes!
https://klipper.discourse.group/t/mixin ... rt/2246/11
Ja dat klopt...Dus ik probeer een M163 en een M164 macro te maken in klipper....
In de g-code van uit cura word dmv
M163 S0,1.0
M163 S1,0.0
M163 S2,0.0
verzonden, eigenlijk is dat de snelheid die je wil dat de exturders gaan draaien...
Dus extruder1 op 100% en de andere 2 staan stil,
en met een
M164,S1
sla je eigenlijk die 3 snelheden op in in een Toolnummer,
Dus T1 , gebruikt extruder1 100% en de andere 2 extruders staan stil...
Maar je kan dus ook M163 S0,0.5 en M163 S1,0.5 en M163 S2,0.0 en een M164 S2 , en dan zou tool T2 dus de eerste 2 extruders op 50% aansturen...
volgens mij heb ik dat aansturen van de verschillende snelheden al voor elkaar...
maar nu wil ik alleen nog, als er in de G-code een toolnummer staan , Bijvoorbeeld T4, dat dan in macro T4 de 3 snelheden van T4 opgehaald worden...
Maar ik weet helemaal niet of je in de config van klipper, eeehhh, ja dat je als bijvoorbeeld een M164 S4 vanuit de G-code binnen komt, of het dan mogelijk is, in Macro M164 ten eerst die S4 uit te lezen?
en die S4 dan gebruiken om de 3 snelheden in een Array te zetten op de 4 plaats...?
en dan dus later, als er in de G-code een T4 staat, dat dan dmv Macro T4 , de 3 snelheden uit de Array gelezen word....
Dus in theorie weet ik wel wat ik wil....
nu alleen ff uitzoeken of het kan, en hoe....
Toegevoegd in 6 uren 52 minuten 34 secondes:
Misschien hier iemand die het weet?
Als ik via het console M163 S0 P1.0 geeft, gaat het niet goed.
Maar ik begrijp niet waarom niet... misschien iemand anders die het weet...
want de S0 word wel goed uit gevoerd, want ik " RESPOND TYPE=command MSG='M163 extruder 0' " goed terug
maar nu probeer ik ook die P1.0 uit te lezen.... en dat wil maar niet lukken...
misschien iemand een idee wat ik fout doe?
Code: Selecteer alles
[gcode_macro M163]
gcode:
variable_temp_target: 0
gcode:
{% set rot_dist0 = params.ROT_DIST_0|default(7.943242)|float %} # define in default the rotation distance of the extruder0
{% set rot_dist1 = params.ROT_DIST_1|default(7.943242)|float %} # define in default the rotation distance of the extruder1
{% set rot_dist2 = params.ROT_DIST_2|default(7.943242)|float %} # define in default the rotation distance of the extruder2
{% set Speed_extruder0 = params.EXTRUDER_0 | default(7.943242) | float %}
{% set Speed_extruder1 = params.EXTRUDER_1 | default(7.943242) | float %}
{% set Speed_extruder2 = params.EXTRUDER_2 | default(7.943242) | float %}
#SET_GCODE_VARIABLE MACRO=START_PRINT VARIABLE=temp_target VALUE={ TARGET_TEMP }
#[P<factor>] [S<index>] Set a single mix factor (in proportion to the sum total of all mix factors). The mix must be committed to a virtual tool by M164 before it takes effect.
{% if 'S' in params %}
{% if 'P' in params %}
# #Set Mix
{% if params.S|int == 0 %}
#SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=extruder DISTANCE={ rot_dist0 * (100.0/ (((params.P|float)*100.0)) +0.00001) }
#Speed_extruder0 {((rot_dist0 /100.0)*(params.P|float))}
M117 {(params.P|float)}
RESPOND TYPE=command MSG='M163 extruder 0'
{% endif %}
{% if params.S|int == 1 %}
#SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=extruder1 DISTANCE={ rot_dist1 * (100.0/ (((params.P|float)*100.0)) +0.00001) }
RESPOND TYPE=command MSG='M163 extruder 1'
{% endif %}
{% if params.S|int == 2 %}
#SET_EXTRUDER_ROTATION_DISTANCE EXTRUDER=extruder2 DISTANCE={ rot_dist2 * (100.0/ (((params.P|float)*100.0)) +0.00001) }
RESPOND TYPE=command MSG='M163 extruder 2'
{% endif %}
{% endif %}
{% endif %}