OctoDash icon indicating copy to clipboard operation
OctoDash copied to clipboard

Add basic multi-extruder support

Open queengooborg opened this issue 2 years ago • 10 comments

This PR resolves #779 by adding some rudimentary multi-extruder support, adding display of the temperatures of additional tools, as well as adding multi-tool support to the filament selection menu.

182595315-949fa713-45df-4d8c-a9f4-20f893800558 182815470-7a1a98e0-5d87-4247-9796-0444b66103b0 Screen Shot 2022-10-22 at 01 23 19 Screen Shot 2022-10-22 at 02 12 57

Planned features:

  • Temperature control for additional tools
  • Tool selection when selecting file to print

queengooborg avatar Oct 22 '22 08:10 queengooborg

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Nov 12 '22 12:11 stale[bot]

This looks outstanding for multi-material printing! I use virtual extruders on my machine and change the filament by hand, and right now I have to set the materials in a sidebar on Octoprint using Spool Manager. I would love to be able to swap all the materials via Octodash as that's my primary way of interacting with my printer. If you need anyone to test your new features, I will happily volunteer!

ssenrah avatar Dec 20 '22 22:12 ssenrah

Thanks @ssenrah! Testing would be great as I know I can't think of everything -- additionally, if you have suggestions for related features (or ways I can improve the existing ones), I'd love to hear them!

queengooborg avatar Dec 21 '22 21:12 queengooborg

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] avatar Jan 07 '23 22:01 stale[bot]

Just waiting on review from @UnchartedBull. :)

queengooborg avatar Jan 07 '23 22:01 queengooborg

@queengooborg How can I install your version of OctoDash for testing? I downloaded and installed the main branch using the automatic download/install method via the command line, and am not sure how to get your specific branch

ssenrah avatar Jan 08 '23 00:01 ssenrah

Hello @queengooborg . Thank you for this. I was able to install and test your modifications.

There is a few things I noticed:

  • On the main screen I can't choose the hotend I want to set the temperature. It will always set tool 0. I did some modifications and came up with this: image Now I have the tool0 on the left and tool1 on the right. It will know which one I pressed and will set that tool. For this I've changed the css to this: printer-status.component.scss grid-template-rows: repeat(2, 1fr); grid-template-columns: repeat(2, 1fr); Instead of 1 row and 3 columns, I have now 2 rows and 2 columns. I had to duplicate printer-status__hotend class div for this in the printer-status.component.html.
    I've added (click)="showQuickControlHotend(0)" and (click)="showQuickControlHotend(1)" to those divs

For this I've added a selectedHotend variable which I set at the showQuickControlHotend function. See the following: printer-status.component.ts

public selectedHotend: number;

public showQuickControlHotend(value: number): void {
    this.selectedHotend = value;
    this.view = QuickControlView.HOTEND;
    this.showQuickControl();
  }

private setTemperatureHotend(): void {
    this.printerService.setTemperatureHotend(this.hotendTarget, this.selectedHotend);
    this.hideQuickControl();
  }

Now it will know which hotend I want to set.

  • At filament change when I choose the tool, it will set the temperature fine but I won't set that tool to be the active tool. So if I press tool1, it will heat up, but Tool0 stays the active tool and it would want to retract Tool0. My solution: in the choose-tool.component.ts setTool function I've added this line: this.printerService.executeGCode("T" + tool); This way it will change the active tool.

  • While printing if I go to the adjust menu, I can't adjust the hotend's temperature. You forgot to modify the print-control.component.html because temperatureHotend changed to temperatureHotends[] in the ts file. I've no solution for this yet.

bokodimate avatar Feb 01 '23 09:02 bokodimate

+1

This is so much more relevant now with the Prusa XL and other tool changers in the works.

I have been working on this with a friend and he now has an open request for OctoPrint that is directly related to this.

https://github.com/OctoPrint/OctoPrint/issues/5018

morphias2004 avatar May 22 '24 02:05 morphias2004

Here is my PR for OctoPrint: It adds another endpoint for the toolhead heater, leveraging "current_extruder" https://github.com/OctoPrint/OctoPrint/pull/5022

ccatlett1984 avatar May 25 '24 03:05 ccatlett1984

Here is my PR for OctoPrint: It adds another endpoint for the toolhead heater, leveraging "current_extruder" OctoPrint/OctoPrint#5022

PR has been merged, will be in v1.11.0 of OctoPrint

image

ccatlett1984 avatar May 27 '24 13:05 ccatlett1984