Filament sensor triggers for the wrong extruder
-
@phaedrux said in Filament sensor triggers for the wrong extruder:
Try using your tool change files to enable and disable the monitor so that only the active tool has it enabled.
Ok - I've since done that... However:
- This enables the monitoring if a tool is selected even if I'm not currently printing. Which means if you are unloading filament it will trigger an error message. I guess I need more conditional logic so it only enables it when the tool is selected AND it's currently printing.
- There's still the issue that it specifies the wrong tool when the error is thrown for my right (T1) tool. And it calls
filament-error0.g
instead offilament-error1.g
. I realize I can also just usefilament-error.g
which I will do - just trying to point out that it's noting the incorrect tool when throwing the filament error. Is that something that needs to be fixed in firmware or am I just doing something wrong?
-
Something like if state=processing might be enough. See if that leads you in teh right direction.
-
@phaedrux said in Filament sensor triggers for the wrong extruder:
Something like if state=processing might be enough. See if that leads you in teh right direction.
Ah, cool - there wasn't a "printing" state so I wasn't sure.
What I had come up with so far was:
if job.build != null
Any thought though as to why it's triggering for the wrong tool? That's my real concern here.
-
@adammhaile said in Filament sensor triggers for the wrong extruder:
Any thought though as to why it's triggering for the wrong tool? That's my real concern here.
What exactly do you mean by wrong tool? What have you put in which tool change file?
-
@phaedrux said in Filament sensor triggers for the wrong extruder:
What exactly do you mean by wrong tool? What have you put in which tool change file?
When the filament sensor configured for T1 triggers, I get the following error:
Error: Filament error on extruder 0: noFilament
Which is the same error I get when the sensor for T0 triggers. I would expect the error for T1 to be:
Error: Filament error on extruder 1: noFilament
The T1 filament error also triggers
filament-error0.g
instead offilament-error1.g
tpost0.g
containsM591 D0 S1
tpost1.g
containsM591 D1 S1
I call
M591 D<tool_id> S0
in thetfree
files. -
Can you please post your full set of files, including these macros
; set base tool names M98 P"tools/t0.g" M98 P"tools/t1.g" ; load variable tool configs M98 P"tools/setup.g" ; Ensure T0 loaded M98 P"soft_load_tool.g" S0
-
@phaedrux said in Filament sensor triggers for the wrong extruder:
Can you please post your full set of files, including these macros
Sure thing, everything can be viewed here: https://github.com/adammhaile/Rancor/tree/f48014f7924d1a6958722ad6c128a8c379bcafbb/sd/sys
The
tools/
stuff is a little convoluted, but I'll try to explain best I can:My machine is IDEX but has cold-swappable tool heads. I have 5 total tool heads that can be placed on either of the 2 tool carriages. So everything under
tools/
is my attempt to create a management system for quickly swapping configs.tools/t0.g
andtools/t1.g
simply just set a global variable with the name of the tool that is in that position. That name is then used to load configs from the correct directory undertools/
. For the most part those configs set more global vars.tools/setup.g
takes all the currently set global vars and sets things like tool offsets.soft_load_tool.g
is basically just an extension of callingT<num> P0
because when a tool change happens I need it to also push a tool name intoglobal.cur_tool
which normally would happen in thetpost
scripts.global.cur_tool
is mostly used for filament handling because I have it setup so that I can have different filament configs based on the tool that is loaded. -
Best I can figure there is an error in your tool files, but I can't spot it.
-
@adammhaile I confirm there is a bug. When the filament-error event is constructed, the CAN address and device number parameters are swapped.
I have fixed this in the source code. The fix will be in RRF 3.5.0beta1 and also in 3.4.1 if we do that release.
-
@dc42 said in Filament sensor triggers for the wrong extruder:
@adammhaile I confirm there is a bug. When the filament-error event is constructed, the CAN address and device number parameters are swapped.
I have fixed this in the source code. The fix will be in RRF 3.5.0beta1 and also in 3.4.1 if we do that release.Awesome. Thanks for the update!