Commit Graph
49 Commits
Author SHA1 Message Date
Kris Austin fcf6f0a3a5 build: clear 54 warnings - dead private fields (#15423)
build: clear 54 dead private fields

54 of the 161 -Wunused-private-field warnings, across 31 files. These are
the ones needing no judgment. Each member is declared once and appears
nowhere else in src/, counting the .mm and .c sources as well as .cpp and
.hpp, so nothing writes them and nothing reads them. Every removal is a
whole line, and no declaration shares a line with another member.

The remaining 107 are left alone. Those members are mentioned elsewhere,
usually assigned and never read, where the fix might be deleting the
member or might be restoring a read that went missing.
2026-08-31 16:36:52 -03:00
Kris Austin 142c63ab0e build: clear 143 -Woverloaded-virtual warnings in GUI widgets (#15377) 2026-08-26 19:14:30 -03:00
SoftFever 50abe02f18 Make AMS trays read-only in laser mode and add the gradient fill helper 2026-07-17 05:06:09 +08:00
SoftFever 7265a2fbfe Resync the AMS control and item widgets 2026-07-17 04:30:45 +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
xin.zhang 27a23a8baf ENH: support new feature of AMS
jira: [STUDIO-14067][STUDIO-14069]
Change-Id: Ib51f9ec6b387418f1817619973e926d3c9494935
(cherry picked from commit e2f63a8d1e3a1ea1f53578c611300ead12052b39)
2025-10-28 15:29:47 +08:00
Noisyfox ca6d1d37ee Fix AMS road position 2025-10-10 20:11:40 +08:00
Noisyfox a9c0490c68 Update color 2025-10-05 16:02:17 +08:00
xin.zhang b473b34ddd FIX: the display of n3s humidity
jira: [STUDIO-14195]
Change-Id: I6b49df928bdb1ce36450006805dd5d152ca7ad96
(cherry picked from commit 1e7cd2340c3c67a6a49e61dc7645428203d4df56)
2025-10-05 00:02:30 +08:00
xin.zhang bdf413fb58 FIX: incorrect display of AMS humidity
JIRA: [STUDIO-13742]
Change-Id: I25c26282c48faa05ab07dbb0cdbf5147bf475ccd
(cherry picked from commit 971afb8365c955c2562bb5c2d7a8effdc2b625ce)
2025-10-02 17:07:21 +08:00
xin.zhang 4a787f6ff8 ENH: clean codes about device
JIRA: [STUDIO-13609]
Change-Id: I591de7033360b9570600006cfbce2148a8d031d5
(cherry picked from commit e9c774be8f4c89b8dafa14ef56913612fb68bd0c)
2025-10-02 09:30:48 +08:00
xin.zhang 2bbd4f89f8 FIX: check if the filament is unknown
jira: [STUDIO-12085]
Change-Id: Ibf40d7a5106a40385aff5c769e5b7e5cdb866de0
(cherry picked from commit 012b6f2395d66b7b1bdafa3e851ca4b2f874eb23)
2025-09-23 09:21:03 +08:00
xin.zhang e9b30443c5 REF: remove useless codes
jira: [none]
Change-Id: I86202fdaa09c5953d9bb4f21cc6dd9d9609c0a7f
(cherry picked from commit e9d8a6c8352628e3f7bb33e2ffaa38e03ebe929b)
2025-09-23 09:03:17 +08:00
xin.zhang 9f24f0fe03 FIX: add transparent painting for AMS lite
jira: [STUDIO-11488]
Change-Id: I1b180ad7389eb4d74c3686b0559ce26172f7b264
(cherry picked from commit 03957c567ea0ffed58057f0fafe6f311e87f3a10)
2025-09-21 13:48:01 +08:00
xin.zhang 1549e8f4e4 FIX: modify style; optimize ext image loading time
jira: [none]
Change-Id: Ia4bd69cc4ae6ae115c22a5c0b6c6a517773ec3f4
(cherry picked from commit 1dfd5cfdfb44b7ad4418633a3e00f5c451856fe7)
2025-09-21 13:47:53 +08:00
tao wang 426b5900ee ENH:compatible with AMS exist flag
jira:[none]

Change-Id: I6afeafe0676eded86f83838576d67233f50ee509
(cherry picked from commit a182fa1aa4a3bdd32c4ccfa26adcd92a9f1cca37)
2025-09-21 13:47:51 +08:00
zhimin.zeng 3d5abeba60 ENH: Updated calibration UI for single-extruder printer
jira: none

Change-Id: I4e2d97f38699b13e2bced8f6a37c952f7903aa27
(cherry picked from commit 2e3a5e8ca71e3e9426412f8bd07b916f6be45aed)
2025-09-20 15:31:26 +08:00
xin.zhang f9a7f056e9 FIX: use different ext image for different machine
jira: [STUDIO-11133]
Change-Id: Ice69b4f33317e23a2c2d7b8fbdfc94402b4bba28
(cherry picked from commit a67acd8f0ced49052cfe0c4b01a5bf159b046e85)
2025-09-20 15:30:14 +08:00
xin.zhang 6632db0758 FIX: update the image size
jira: [STUDIO-10732]
Change-Id: Ib4d55b911740cef079f38cd497d40a29ae3b1031
(cherry picked from commit 0ffcd9cc13ce7bbc1f6f96a09647e2f6afa112b1)
2025-09-17 23:08:20 +08:00
xin.zhang 03ea48c6b4 FIX: update the extruder image in status panel
jira: [STUDIO-10732]
Change-Id: I5437c4ef1538f0022f97c7ef7fb40ec2242328ed
(cherry picked from commit f5c49c89a80e508a442440218b068446d1e9e797)
2025-09-17 23:06:54 +08:00
xin.zhang d557b8e35b FIX: The humidity popup with humidity_percent/temperature/dry_time
jira: [STUDIO-9268]
Change-Id: Ic6e923ae7cff56fa3e053d48e5dea6e393cd41eb
(cherry picked from commit 75da1db2f926125a0cb3595a8cae9f4d7588c6a8)
2025-09-17 15:49:02 +08:00
xin.zhang 889911d69a FIX: update the display of AMSHumidity
jira: [STUDIO-10119]
Change-Id: I7a1be57bd0dff13be149d6450b36fb54ffa9521d
(cherry picked from commit c3a8690987005e0f53bbd5f9622a670e76bed93a)
2025-09-17 15:11:41 +08:00
xin.zhang 82480436e2 FIX: the humidity display
jira: [STUDIO-10481]
Change-Id: Ib4bec6db6afbe40199c401c539b13a0e8459bbad
(cherry picked from commit 658a8ab7ef1d2149fee58b45ea9455bb188f82f0)
2025-09-17 11:34:02 +08:00
xin.zhang eee420027e FIX: the AMS refresh does not show AMS_TEXT
jira: [STUDIO-10322]
Change-Id: Ib17031b9b1eae07deabd418ec1211c465d4ab03d
(cherry picked from commit 51feb5f544d0cbbaa76b3c4db0e77a717a98c0e8)
2025-09-16 23:00:24 +08:00
xin.zhang 960d676043 FIX: the AMS EXT image fault
jira: [STUDIO-10044]
Change-Id: I71d142cd763deff33f1c42047b5ae6ac81574b3f
(cherry picked from commit d50fc6a0ce421afaba93d7a67d89aebeeab1f7bf)
2025-09-16 22:57:56 +08:00
xin.zhang b3ca79146b FIX: complete the AMS fresh while state changed
jira: [STUDIO-10305]
Change-Id: Ie6cbc359bdf9fe02f103f58e25f490105faaf381
(cherry picked from commit 9d7c9c54fc47d6e9000d2570fd391a9823e8b33e)
2025-09-16 22:33:31 +08:00
xin.zhang aa58b9b7ad FIX: support the dark mode AMSPreview
jira: [none]
Change-Id: If4329081535a1155588afad932403ea3615163f7
(cherry picked from commit 32597b43f94813f3ad6ef99106e234fa9a180971)
2025-09-12 17:26:20 +08:00
tao wang e7215fef59 ENH:redraw the ams preview item
jira:[STUDIO-9823, STUDIO-9609,STUDIO-9366]

Change-Id: I9bb71986e474257dc4d22fcb66706e4f61228e4e
(cherry picked from commit 538316469a07ea27bf7b5a2c8b6cfeb86c1cf97e)
2025-09-10 10:37:50 +08:00
xin.zhang b7a8c28b1c FIX: refresh the preview when changed
jira: [STUDIO-9576]
Change-Id: Ic742fa3dd5011dbafc0353b20039b2f33df8d300
(cherry picked from commit d1e50a4e7020b46374d24a16e4520c97b28d51b6)
2025-09-09 16:51:25 +08:00
xin.zhang 961ad3dbc7 FIX: the extruder image do not show in mac
jira: [STUDIO-9504]
Change-Id: I8457b6beaccc30492e1275926a7213c8ce328d15
(cherry picked from commit e86b061473799e34efce53abeb8954e591d87836)
2025-09-09 10:38:56 +08:00
tao wang b48d0861b7 FIX:fixed the layout of AMS on the left
STUDIO-9194

Change-Id: I55a8d51c95cba2ae65cafc9e50ea504ced948213
(cherry picked from commit 9d6cc9c37f2ddabc9cf28aab725fe3b7f2889cd8)
2025-09-06 23:06:33 +08:00
tao wang 079dca6b07 FIX:fixed the display issue of multiple AMS
jira:[for ams]

Change-Id: Icb8ce708b0e65870d627dfbe8932e012fc36c6f9
(cherry picked from commit 2cdfc21b93e37b92deabb3ab8e7b39de2578f0b2)
(cherry picked from commit afbf3cf1976623c9a443f3471ec7ddcfb737d031)
2025-09-06 21:35:18 +08:00
tao wang 21b67d993f NEW:new fialment load/unload process
jira:[none]

Change-Id: Ie0076d5c7ec619414121c1f6d37876aaa4e044c1
(cherry picked from commit 5d9a7eaadcd5ab6dc2f18e65000ead81e7e8adb6)
2025-08-28 10:35:06 +08:00
zhimin.zeng e8d77ddb58 FIX: show k value when select default pa profile
jira: STUDIO-8540
Change-Id: I1c92628fa888f935762d31968237e28d65594e51
(cherry picked from commit 3f791574cd5ae384ee295e595f35d45c78ac719f)
2025-08-24 23:18:25 +08:00
Noisyfox 1a03d33795 Fix some build error 2025-08-24 23:18:16 +08:00
hang.xu 5474cff20c FIX: Parse virtual slot info
jira: STUDIO-7724, STUDIO-7725

Change-Id: Id9181511b7503787fe06403be6ecb782d78cb21e
(cherry picked from commit 286eca79c2c0824522f0917123c9315f8df65dee)
2025-08-24 23:18:13 +08:00
Noisyfox cd321f1711 Fix build 2025-08-24 23:18:12 +08:00
Noisyfox 61aa5d2c09 Sync AMS lite render code from BBS 2025-05-25 17:01:13 +08:00
Noisyfox 4425f91caa Fix AMS update 2025-05-21 21:18:53 +08:00
Noisyfox cee7041b4d Clean up code 2025-05-21 16:25:48 +08:00
Noisyfox 3b3406a375 Rename AmsCans to AmsItem 2025-05-21 15:56:41 +08:00
Noisyfox d654408bed Rename AMSItem to AMSPreview 2025-05-21 10:46:28 +08:00
xin.zhang 0b98094dac FIX: The humidity popup with humidity_percent/temperature/dry_time
jira: [STUDIO-9268]
Change-Id: Ic6e923ae7cff56fa3e053d48e5dea6e393cd41eb
(cherry picked from commit 75da1db2f926125a0cb3595a8cae9f4d7588c6a8)
2025-05-20 11:48:15 +08:00
Noisyfox 575d543299 Fix AMS panel colour 2025-05-19 23:52:33 +08:00
Noisyfox 5f989c81d1 Port BBS AMSHumidity 2025-05-19 23:37:10 +08:00
xin.zhang 2a19372ca0 FIX: update the display of AMSHumidity
jira: [STUDIO-10119]
Change-Id: I7a1be57bd0dff13be149d6450b36fb54ffa9521d
(cherry picked from commit c3a8690987005e0f53bbd5f9622a670e76bed93a)
2025-05-19 11:04:15 +08:00
Noisyfox 80b234a369 Preparing for AMS drying support 2025-05-19 11:04:14 +08:00
xin.zhang 8f143a1764 FIX: the humidity display
jira: [STUDIO-10481]
Change-Id: Ib4bec6db6afbe40199c401c539b13a0e8459bbad
(cherry picked from commit 658a8ab7ef1d2149fee58b45ea9455bb188f82f0)
2025-05-15 13:35:06 +08:00
Noisyfoxandtao wang afb1d3df6f refactoring the modules of amscontrol
adapted from bambulab/BambuStudio@b78fa4c11c

Co-authored-by: tao wang <tao.wang@bambulab.com>
2025-05-07 11:30:29 +08:00