Did you test the latest bugfix-2.0.x code?
Yes, and the problem still exists.
Bug Description
I have tested this with the latest bugfix (7/02/2022)
I have a modified Geeetech A20M, the board has been replaced with a BTT Octopus Pro, and the filament sensors have been replaced with BTT smart sensors.
I have the board connected to a BTT TFT and Octoprint. the BTT Smart sensors are connected to the main board, and i have host actions enabled.
This is a dual extruder single hotend "mixing" printer
If i print just using the first extruder the smart sensor correctly triggers when needed and goes through the correct filament change procedure.
However if i print using the second extruder, the sensor triggers when there is no runout or blockage.
The strange behaviour however is that it reports that the issue is with the first extruder not the second, and starts to unload the first extruder.
I think the issue is that the count down of remaining length is been applied to the wrong extruder count.
To test this out, i have enabled FILAMENT_RUNOUT_SENSOR_DEBUG
This reports
Recv: Motion detected: 0
Recv: Remaining mm: 7.0000, 7.0000
i have some gcode loaded that starts a print on T0, and i can see the first count reduce as expected.
Recv: Motion detected: 1
Recv: Remaining mm: 6.6518, 7.0000
The gcode then changes over to use T1,
Before changing colour, the gcode runs through a purge routene, while this is going i get the report
Recv: Motion detected: 0
Recv: Remaining mm: 7.0000, 7.0000
Following this and the print resuming the count continues to reduce on the first counter
Recv: Motion detected: 1
Recv: Remaining mm: 4.5341, 7.0000
Interestingly when this debug mode is enabled the printer crashes when the count hits 0, however with this mode not enabled, it triggers M600 against T0 rather than T1, as far as i can tell however this line should ensure it triggers for the correct extruder
#define FILAMENT_RUNOUT_SCRIPT "M600 T%c"
I have also tested this with
#define FILAMENT_RUNOUT_SCRIPT "M600 T%t"
as suggested by a previous bug report, this fails with the unknown extruder message.
I have tested the second run out sensor using M43 and monitoring the pin, so im happy enough that the sensor is working and the wiring is ok.
Unless my assumption is wrong that the debug line is reporting the status of both sensors, i can only guess that the issue is around the count down not following the active tool.
Bug Timeline
No response
Expected behavior
I would expect the remaining distance count sensor associated with the extruder to count down
Actual behavior
The remaining distance count always reduces against the count associated with T0 regardless of the active tool
Steps to Reproduce
No response
Version of Marlin Firmware
Bugfix 07/02/2022
Printer model
GeeeTech A20M Modifled
Electronics
BTT Octopus Pro + BTT Smart Sensors (x2) + BTT TFT35
Add-ons
Octoprint
Bed Leveling
ABL Bilinear mesh
Your Slicer
Cura
Host Software
OctoPrint
Additional information & file uploads
Configuration.zip
Did you test the latest
bugfix-2.0.xcode?Yes, and the problem still exists.
Bug Description
I have tested this with the latest bugfix (7/02/2022)
I have a modified Geeetech A20M, the board has been replaced with a BTT Octopus Pro, and the filament sensors have been replaced with BTT smart sensors.
I have the board connected to a BTT TFT and Octoprint. the BTT Smart sensors are connected to the main board, and i have host actions enabled.
This is a dual extruder single hotend "mixing" printer
If i print just using the first extruder the smart sensor correctly triggers when needed and goes through the correct filament change procedure.
However if i print using the second extruder, the sensor triggers when there is no runout or blockage.
The strange behaviour however is that it reports that the issue is with the first extruder not the second, and starts to unload the first extruder.
I think the issue is that the count down of remaining length is been applied to the wrong extruder count.
To test this out, i have enabled FILAMENT_RUNOUT_SENSOR_DEBUG
This reports
Recv: Motion detected: 0
Recv: Remaining mm: 7.0000, 7.0000
i have some gcode loaded that starts a print on T0, and i can see the first count reduce as expected.
Recv: Motion detected: 1
Recv: Remaining mm: 6.6518, 7.0000
The gcode then changes over to use T1,
Before changing colour, the gcode runs through a purge routene, while this is going i get the report
Recv: Motion detected: 0
Recv: Remaining mm: 7.0000, 7.0000
Following this and the print resuming the count continues to reduce on the first counter
Recv: Motion detected: 1
Recv: Remaining mm: 4.5341, 7.0000
Interestingly when this debug mode is enabled the printer crashes when the count hits 0, however with this mode not enabled, it triggers M600 against T0 rather than T1, as far as i can tell however this line should ensure it triggers for the correct extruder
#define FILAMENT_RUNOUT_SCRIPT "M600 T%c"
I have also tested this with
#define FILAMENT_RUNOUT_SCRIPT "M600 T%t"
as suggested by a previous bug report, this fails with the unknown extruder message.
I have tested the second run out sensor using M43 and monitoring the pin, so im happy enough that the sensor is working and the wiring is ok.
Unless my assumption is wrong that the debug line is reporting the status of both sensors, i can only guess that the issue is around the count down not following the active tool.
Bug Timeline
No response
Expected behavior
I would expect the remaining distance count sensor associated with the extruder to count down
Actual behavior
The remaining distance count always reduces against the count associated with T0 regardless of the active tool
Steps to Reproduce
No response
Version of Marlin Firmware
Bugfix 07/02/2022
Printer model
GeeeTech A20M Modifled
Electronics
BTT Octopus Pro + BTT Smart Sensors (x2) + BTT TFT35
Add-ons
Octoprint
Bed Leveling
ABL Bilinear mesh
Your Slicer
Cura
Host Software
OctoPrint
Additional information & file uploads
Configuration.zip