Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Implement Push/Pull V-Tool, Report All Mixes via M165 R, and full E support #26922

Draft
wants to merge 33 commits into
base: bugfix-2.1.x
Choose a base branch
from

Conversation

Glodigit
Copy link

@Glodigit Glodigit commented Mar 30, 2024

Description

  • Attempts to implement fast colour changing strategy discovered by Heinz
  • Adds M165_report()
    • Use 'M165 R' to report V-tool V0 - Vn with the same codes used as M165, normalised to 100.0%
    • The output is compact so that it can be easily read on a BTT TFT Touchscreen (TFT24 tested)
  • Fix to support all 8 extruders
  • Fix to prevent crash using G3, and potential overlap with G1 I/J/K axes

Requirements

  • #define MIXING_EXTRUDER
  • #define DIRECT_MIXING_IN_G1
  • #define PUSH_PULL_TOOLCHANGE
  • Set 'MIXING_PUSH_PULL_MM' to a suitable retract distance for your hotend

Benefits

  • Goal is to be able to change v-tools with less or near-0 purge required, without any GCODE modifications. Push/Pull happens when switching from one virtual tool to another.
  • View all V-tool mixes at once.
  • Confirm that the correct V-tool mix was set. For example, 'M165 A50 C50 R'
  • Allow viewing of V-tools without display.
  • Makes it possible to add mixing-extruder auto-detection features to BTT Touchscreen FW (e.g. to address #19502).
  • Allows marlin to compile when MIXING_STEPPERS > 6
  • Allows use of >= 6 channels with G2/G3 arc support

Images

Working idea of push/pull M165 R showing all tool mixes

Configuration tested on Octopus Pro v1.0 + EXP MOT

#define MIXING_EXTRUDER
#define MIXING_STEPPERS 8
#define DIRECT_MIXING_IN_G1
#define PUSH_PULL_TOOLCHANGE

@thisiskeithb thisiskeithb marked this pull request as draft March 31, 2024 14:11
@thisiskeithb thisiskeithb added the Needs: Testing Testing is needed for this change label Mar 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Needs: Testing Testing is needed for this change PR: New Feature
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants