Commit Graph

19 Commits

Author SHA1 Message Date
SoftFever
2fecfc291f fix(gui): rack-aware pre-print nozzle checks in the send dialog
A print sliced for a nozzle that sits in the hotend rack (but is not
mounted) was blocked by the send dialog's mounted-nozzle diameter check,
even though the printer fetches the required nozzle itself (#14685).

Consolidate the three mounted-nozzle gates (_is_nozzle_data_valid,
is_nozzle_type_match, _is_same_nozzle_diameters) into a single
CheckErrorExtruderNozzleWithSlicing fed by s_get_slicing_extuder_nozzles,
which collects the plate's per-extruder nozzle requirements (hybrid
extruders contribute one entry per used sub-nozzle flow). The rack
extruder validates against its whole inventory (mounted + rack) with
guidance to calibrate the rack, refresh nozzle info, or re-slice, and
blocks when toolhead + rack are full (no free slot to stow a nozzle).
Other extruders keep the validity/flow/diameter checks against the
mounted nozzle.

Also add CheckErrorRackStatus, which holds Send while the printer is
still reading the rack hotend information, and judge material hardness
for the rack extruder per dispatch-mapped nozzle as a non-blocking
caution (mounted nozzles keep the blocking gate).
2026-07-13 00:55:16 +08:00
SoftFever
0d31325df0 feat: Filament Track Switch (H2-series O2L-FTS) support
The Filament Track Switch (H2-series accessory, product code O2L-FTS) feeds
every AMS to both extruders through a two-track switch. Port full support
across the device layer, project config, and GUI.

Device / config:
- Model the switch-aware AMS binding (the set of extruders an AMS can feed
  and which input track A/B feeds it), switch readiness, the O2L-FTS firmware
  module, and the fun2 capability bit for checking a slice against installed
  hardware.
- Register has_filament_switcher and enable_filament_dynamic_map as project
  config that persists with the project and restores from a saved 3mf, and
  force both back to false on every project/printer/CLI load path. Live
  device sync is the only thing that sets them true.

GUI:
- Sidebar sync activates the switch from live device state, attributes each
  AMS to the extruder its input track feeds, shows a floating status icon
  (ready / not-calibrated), and surfaces a one-time tip / not-calibrated
  warning.
- Send dialog gains a non-blocking slice-vs-hardware mismatch warning and a
  blocking error when a slice needs dynamic nozzle mapping but the switch is
  missing or not set up.
- AMS load/unload guards, AMS-view routing glyph + un-calibrated banner +
  hidden external-spool road, and mapping-popup external-spool lockout.
- Filament pickers collapse the per-extruder split into a single deduplicated
  "AMS filaments" group with a smart-assign toggle when the switch is ready.
- Firmware-upgrade panel lists the O2L-FTS accessory and its version.
- Device-provided filament-change steps (ams.cfs) drive the change-step
  display when firmware sends them, including the three switch steps.
- "Load current filament" asks which extruder to feed via a
  FeedDirectionDialog when the switch is calibrated.

Inert without the accessory: every path is gated on the switch being
installed (MQTT aux bit 29, default off) or ready, both project flags default
false, and the per-extruder AMS attribution is byte-identical, so AMS state,
the send/load UI, and sliced g-code are unchanged for every printer that does
not report a Filament Track Switch.
2026-07-09 18:57:05 +08:00
SoftFever
28b7127150 feat(gui): multi-nozzle UI for H2C/A2L
Multi-nozzle sync widget, AMS rack-nozzle mapping popup, calibration rework, send-dialog nozzle mapping and extruder-count UI. Includes the fix to persist the AMS sync badge on filament cards (H2C/A2L and direct-sync printers).
2026-07-09 01:16:26 +08:00
Noisyfox
fb1f4a7d24 Automatically select external spool if it's the only installed filament (#13356)
* Clean up code

* Filament mapping select ext slot automatically when no AMS filament inserted (OrcaSlicer/OrcaSlicer#13103)

* Show warning if external filament type does not match the one in sliced file
2026-05-09 13:14:27 +08:00
xin.zhang
223eaa5d2f ENH: add notice for PrintStatusAmsMappingInvalid
JIRA: [STUDIO-14577]
Change-Id: Ibcd742c109970490998fcf90f5520afcda5a4244
(cherry picked from commit 662338ab0e2e82db48dc173f3413a11302285132)
2025-10-28 15:30:02 +08:00
milk
d6e40352c2 FIX:Add colors exceed message
jira:[STUDIO-13236]

Change-Id: Id5b761a661c4b0d47cb8cd600a061b403dce0ae8
(cherry picked from commit 7a11f7e8ca0cb08c08b8a1e62f77b670b61aa094)
2025-10-28 15:29:57 +08:00
xin.zhang
84dd0449b7 ENH: support cold pull for TPU
jira: [STUDIO-13529]
Change-Id: I6a44da3b2774305db179cfed0781d67e9b5a7e2e
(cherry picked from commit 0225c329c8eb8fee332d2cf9732b83ccd0c1dbb3)
2025-10-28 15:29:47 +08:00
xin.zhang
fedcfc4ea5 ENH: support extension tool; support check extension tool
JIRA: [STUDIO-14122] [STUDIO-14162]
Change-Id: I147d335420fcc7c9a190f570863e38e138cdadcf
(cherry picked from commit db83b9fb6c6399d917b27b74cc573d668737c705)
2025-10-28 15:29:47 +08:00
xin.zhang
2626a6bc3b FIX: check close chamber temperature
JIRA: [STUDIO-13676]
Change-Id: I5c2712ade24d20d361d00a0b763dd16479aa5fb1
(cherry picked from commit 7ac3c82fbaf0337351d41f5d65c2ae088f755744)
2025-10-28 15:29:47 +08:00
milk
4bb326db16 FIX:Fix incomplete prompt message display
jira:[STUDIO-12797]

Change-Id: Iefdcf23477b183e7c208092d9da347ee5669f8b3
(cherry picked from commit 081dfec94a95797847f67783f273632a78c3ead2)
2025-09-28 15:02:37 +08:00
xin.zhang
a339677d08 NEW: add some filament check supports for printers
JIRA: [STUDIO-12604]
Change-Id: Ic0e7b517319621907c3c6b8ad82dbcf881c780e8
(cherry picked from commit 55a8c98e9125cdacc801ecebfd82acdcc3e8e7f7)
2025-09-25 16:38:56 +08:00
milk
7a22989e89 ENH:Fix incomplete display of the printer block prompt when entering the print submission screen for the first time
jira:[STUDIO-12254]

Change-Id: I642e6a39f063c65fb9d61e8d589d2a326917d370
(cherry picked from commit c0ac52cb58cffcb80db94e8985da94ff1c7add2d)
2025-09-24 10:00:32 +08:00
xin.zhang
c8006ad7fd ENH: update some check jobs of SelectMachineDialog
jira: [STUDIO-11883]
Change-Id: I730030c06fa819f06390583a666029b8d7b670f5
(cherry picked from commit b59fac368782b3dbfe04bf483a466b1af7610935)
2025-09-23 17:14:12 +08:00
milk
f0825f2c2d ENH:The print page needs to support multiple alert messages
jira: [STUDIO-10756]

Change-Id: I61edceef2f6bcf30bb87aec41593009af30831fa
(cherry picked from commit 2a7da8456c1dbc96daf875bb0c21a1aa4905852a)
2025-09-23 17:10:55 +08:00
xin.zhang
7fcdfe1cfc ENH: support filament soften check
jira: [STUDIO-11922]
Change-Id: I819c47e847ca30120c9fffeab3e9e1955b7f6beb
(cherry picked from commit 5b5489cc95803d1dadc0f6a1246ca39710e9196c)
2025-09-23 09:18:20 +08:00
xin.zhang
e758b77ab7 ENH: add some check job
jira: [STUDIO-11883]
Change-Id: I9a112b10b18d4c4f4bee5c8076b22f46fb63b13f
(cherry picked from commit 15c7bb729085ec65fee8cc36a5058ac5e883ceb8)
2025-09-21 16:25:57 +08:00
tao wang
4d3d0c7ef6 ENH:support checking the complete material blacklist
jira:[STUDIO-10749]

Change-Id: Iea007cf94a2ecdc21be972fce121c09bef009a03
(cherry picked from commit 9c364779e027b3aece98c96bd902a96165d254d4)
2025-09-21 13:52:52 +08:00
milk
9a542b1a0f ENH:Optimization of File Transfer System Part2
jira: [STUDIO-11777]

Change-Id: I12744db7d2e3b53425454d632533768c54524677
(cherry picked from commit 4358e9ce351c5784e392a75d1ffcf2f54e1916ec)
2025-09-21 13:48:03 +08:00
tao wang
dc56608d13 NEW:add pre print checker
jira:[none]

Change-Id: Ic1469d30dff30e1eba92d8bfacf58d0f0b789157
(cherry picked from commit 8cfa735c6cac432a2b97dea7703e810f8eef6d04)
2025-09-21 13:48:03 +08:00