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

Multi zone implementation #7676

Draft
wants to merge 61 commits into
base: main
Choose a base branch
from

Conversation

GiacomoGuaresi
Copy link

@GiacomoGuaresi GiacomoGuaresi commented Dec 6, 2024

#Description
This PR implements logic to handle a multi-zone nozzle heating configuration for modded_printer_pellet printer models.

Changes introduced:

  • Multi Heating Zone feature: when enabled, users can independently set the temperature for each zone, instead of setting a single temperature for the nozzle, this entry will enable in the printer configurations the extruder zone number and in the materials the various set temperatures for each present zone, these will be divided into first_layer and other_layer.
  • Updated G-code command (M104): the M104 command now supports a new Z{zone_number} parameter, which allows targeted zone heating. This feature is compatible with multi-extruder printers.
  • The previous behavior of the M104 command remains unchanged when the multi-zone heating option is disabled.

Impact:

This update improves flexibility and accuracy in temperature control, especially for advanced multi-zone certification.

Breaking changes:

There are no breaking changes. Existing functionality remains intact when multi-zone heating is disabled.

Limitations and features to improve:

  • Hard coded limit of 10 temperature zones: Currently PR supports a maximum of 10 temperature zones, hard coded limit to be changed in the future
  • Equal number of temperature zones for each extruder: Currently all extruders in the printer must have the same zone number

Screenshots/Records/Graphs

[TBD]

Testing

The following tests were conducted to verify the changes:

  1. Generated a G-code file with correctly modified M104 commands, including the new Z{zone_number} parameter.
  2. Verified that disabling the multi-zone heating option retains the previous behavior without any regression.

@GiacomoGuaresi GiacomoGuaresi force-pushed the multi-zone-implementation branch from 0e26294 to 6624d3e Compare December 18, 2024 13:41
franzs and others added 30 commits December 19, 2024 10:30
* ENH: add supertrack plate

Jira: none

Signed-off-by: qing.zhang <[email protected]>
Change-Id: I89017c9933597ee035aa20ba3852db6f629f5e20
(cherry picked from commit 78572cbff864e5e78255f2e0eb6e40237bc0bab9)

* NEW:add SuperTack svg

jira: none
Change-Id: Id6153f76f8634d1f00485991b75cbe526fb64adc
(cherry picked from commit 6404f06e79d38ffa8f7f296b10af2af1c2a3974d)

---------

Co-authored-by: zhou.xu <[email protected]>
* reordered Z-Hop settings

* Update Tab.cpp

* Update PrintConfig.cpp

* reordering **`Compare presets`** to match the layout in the sidebar
SoftFever#7483)

fix: Switching between multi-extruder printers using tabs can cause the filament count to be incorrect.
* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json

* Update InfiMech Generic PLA.json

* Update Other PLA.json

* Update fdm_filament_pla.json

* Update fdm_filament_pla_Hyper.json

* Update fdm_filament_pla_Hyper_other.json

* Update fdm_filament_pla_other.json

* Update fdm_process_common.json

* Update fdm_process_common_HSN.json
* Update FlyingBear S1 0.4 nozzle.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update fdm_process_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json

* Update fdm_machine_common.json

* Update fdm_process_common.json

* Update fdm_process_common_S1.json

fix some parameters

* Update fdm_process_common.json

* Update FlyingBear S1 0.4 nozzle.json

* Update 0.08mm Extra Fine @FlyingBear S1.json

* Update 0.12mm Fine @FlyingBear S1.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update 0.20mm Standard @FlyingBear S1.json

* Update 0.24mm Draft @FlyingBear S1.json

* Update 0.08mm Extra Fine @FlyingBear Reborn3.json

* Update 0.12mm Fine @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update 0.20mm Standard @FlyingBear Reborn3.json

* Update 0.24mm Draft @FlyingBear Reborn3.json

* Update FlyingBear S1 0.4 nozzle.json

* Update fdm_process_common_S1.json

* Update fdm_process_common.json

* Update 0.08mm Extra Fine @FlyingBear S1.json

* Update 0.12mm Fine @FlyingBear S1.json

* Update 0.16mm Optimal @FlyingBear S1.json

* Update 0.08mm Extra Fine @FlyingBear Reborn3.json

* Update 0.12mm Fine @FlyingBear Reborn3.json

* Update 0.16mm Optimal @FlyingBear Reborn3.json

* Update FlyingBear S1 0.4 nozzle.json

fix zhop type

* Update fdm_machine_common.json

fix zhop type

* Update fdm_process_common_S1.json

* Update fdm_process_common.json

* Update FlyingBear Generic PLA.json

* Update FlyingBear PLA @S1.json

* Update Other PLA @S1.json

* Update fdm_filament_pla @S1.json

* Update fdm_filament_pla_Hyper @S1.json

* Update fdm_filament_pla_other @S1.json

* Update fdm_filament_pla_Hyper_other @S1.json

* Update fdm_filament_pla.json

* Update fdm_filament_pla_Hyper.json

* Update fdm_process_common_S1.json

* Update fdm_process_common.json

* Update fdm_machine_common.json

* Update fdm_klipper_common.json
* update Polish translations+typo

* Update OrcaSlicer_pl.po

typo
* Update devcontainer.json

* Create Dockerfile
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.