Commit Graph
80 Commits
Author SHA1 Message Date
HanifKoh 6cd5feed79 Remove Duplicate Includes and the Dead GCodeSender Sources (#16249)
46 files include the same header twice at file scope, outside any #if,
66 times in all:
Model.cpp included Model.hpp twice, Utils.hpp <algorithm> and
<string_view> twice, seven GUI headers <wx/dataview.h> and
<wx/artprov.h> twice. The second include of each is removed.

GCodeSender.cpp and GCodeSender.hpp have been commented out of
libslic3r/CMakeLists.txt since 2022 and their only two includes are
commented out as well. Both files go, with the commented lines, and
the CMake entry for SLA/SupportTreeIGL.cpp, a file that no longer
exists.
2026-10-08 13:51:50 +08:00
HanifKoh 1a5f91d727 Add Missing Includes Across src/slic3r/GUI (#16048)
* Add Missing Includes Across src/slic3r/GUI

Every GUI source and header now directly includes the headers declaring what it uses, rather than relying on the precompiled header or transitive includes. Generated with clang-tidy misc-include-cleaner, plus one hand edit making CalibrationPanel.hpp self-contained.

* Drop the OS-Specific Includes Added Outside Their Platform Guards

GLib, GTK, D-Bus and POSIX headers are only used inside platform #if blocks, which already include them. Added unconditionally at the top of the file they broke the Windows build.

* Add the clang-tidy Configuration That Generated These Includes

Only misc-include-cleaner's missing-include check, with the headers it must never suggest: per-platform, internal and OS-specific ones that would break other platforms or are not meant to be included directly.

* Match Windows Paths in the clang-tidy Ignore List

Header paths use backslashes on Windows, so every / in a pattern is now [/\\]. The Windows SDK headers are ignored alongside the other OS-specific ones, and the list is one pattern per line. Suggested by @raistlin7447 from a Windows clang-cl run.
2026-10-02 14:56:56 +08:00
Kris Austin 0f5891f25d build: clear 107 warnings - dead private fields (#15574) 2026-09-08 18:36:48 -03:00
SoftFever 0b4cb89f7c Remove porting jargon and provenance notes from comments 2026-07-18 01:46:23 +08:00
SoftFever 38ab986c5f Drop the transitional device-layer shims 2026-07-17 12:46:45 +08:00
SoftFever 40a875800d Resync the AMS and device dialogs 2026-07-17 06:48:15 +08:00
SoftFever 5cf7e27c23 Show combined nozzle mapping when a filament switch is installed 2026-07-16 16:35:11 +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
xin.zhang 8d3da67254 FIX: the sorting of AMS list
JIRA: [STUDIO-14738] [STUDIO-14651]
Change-Id: I6d4b89edc77383be8afacf9823567bc756c8e2ed
(cherry picked from commit 8defa1f50b4b556c6ebaf2ad533ba09ad3f23e38)
2025-10-28 15:29:58 +08:00
xin.zhang 299b821c5f ENH: support mix mapping
jira: [STUDIO-13673]
Change-Id: Ic1c89457f5154c108dbab41850ed49561aa34fde
(cherry picked from commit 12942e0545424e2528cc3f3c9aa6947b76469b3d)
2025-10-28 15:29:50 +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
hemai 5f1ff2f9a9 FIX: change AMS n3s ams_id & tray_id from 512 to 128
Jira: [STUDIO-13477]
Change-Id: I3844cb59df18220a22d8ff7524216b9fff2b6632
(cherry picked from commit 8c7b66d24b1e795c3070883f3f439cf160b38037)
2025-09-30 14:08:47 +08:00
xin.zhang 0721078177 ENH: update humidity display for AMS-1
JIRA: [STUDIO-13195]
Change-Id: I7abcdf821b7ead2cf4a8605ecd95011e74f5dc6b
(cherry picked from commit 1c1d34ff7e3fea4492ba07e238ca171e28eb0a3b)
2025-09-30 11:19:59 +08:00
xin.zhang f21c5f9ee6 ENH: Revert "ENH: support scroll while using AMS mapping"
This reverts commit e6f290b29d4de697d492a2d933a447ad580a9e83.

jira: [STUDIO-11895]
Change-Id: Iab14bba06cfe59c4804ab9cf2d9784ea75bfe4b7
(cherry picked from commit 529687a2d2d5a4782c941a66eabec704548262df)
2025-09-23 21:42:34 +08:00
xin.zhang ea98914bd0 ENH: support scroll while using AMS mapping
jira: [STUDIO-11895]
Change-Id: I5cefd4e0cc6f5b7d6d1e1eaccfd2035bdd1a948e
(cherry picked from commit f2812461e31bb9b9e1f7740d10e103e85e4f1f25)
2025-09-23 17:11:49 +08:00
xin.zhang 8065f11b60 ENH: update the ext mapping logic
jira: [STUDIO-11970]
Change-Id: Id4cd04da942c5457f0b17877a07c0e24b9c585ec
(cherry picked from commit 09d8050037095f03d3e8f92302f1c568d272a97d)
2025-09-23 09:21:07 +08:00
Noisyfox c027c00caa Fix includes 2025-09-21 23:01:08 +08:00
xin.zhang 5a7dee9add FIX: update the text and icon while mapping
jira: [STUDIO-11679]
Change-Id: Ia744c27e3236ffa7c2157867b026e91c210dd5bf
(cherry picked from commit e685e57839a2933f139cfb3fe98a30a5bc8c34af)
2025-09-21 13:48:00 +08:00
tao wang bdc9e421cc ENH:multiple printers mgr support the new protocol version
jira:[none]

Change-Id: Iee89fcf3e945e3507ec773b7ae70a61968fbe9ef
(cherry picked from commit 7395bbb4577a59e9b874750b3faec77f9e9a3756)
2025-09-21 13:47:56 +08:00
zhou.xu 2d3d68c922 ENH:When the AMS option is turned on or off, update the correct thumbnail
jira: none
Change-Id: Ia001e4baa7de72ab077cf0fb76c45d4cb8bac088
(cherry picked from commit 89aa62f8b4cd11fa10a898956f1c57ae1ef64a70)
2025-09-21 13:47:50 +08:00
zhou.xu a65abbeb58 FIX:m_show_type should init default
jira: github 6146
Change-Id: Ie948a37cfda030a9e10efe0b8d260918b3fb9e4c
(cherry picked from commit 28bdf64fef8d7cbef15f27ffcc2c841595ba08c7)
2025-09-20 15:28:40 +08:00
xin.zhang 907573a158 ENH: support msw_rescale
jira: [STUDIO-10907]
Change-Id: I1e06043fad6345c47e8c5ceb28db204955aa0969
(cherry picked from commit 193caabdc79d966e8226b5a9b340763b1711d0f3)
2025-09-18 15:43:34 +08:00
xin.zhang d592a328d5 ENH: optimize the mapping item
jira: [STUDIO-10907]
Change-Id: Ifc021fcadec7a5863dbea986e0c998f387a72d78
(cherry picked from commit 356410959b4cd67d1198ac222c5067b3c478ff31)
2025-09-18 15:43:29 +08:00
xin.zhang 293787609b FIX: show all re-fill while sending print
jira: [STUDIO-10888]
Change-Id: I2b1a98eddd2c34a83a73ef7cbef39ab05d569aef
(cherry picked from commit ee76a2191ff633af3311ef659b9feb63e7bdedeb)
2025-09-18 15:22:56 +08:00
xin.zhang 8e658d13fb ENH: support ams remain in popup
jira: [STUDIO-9942]
Change-Id: I8514d1a1ac8e893ed46f18e1a42261c3af3f294c
(cherry picked from commit 9fff7967f36d7692767aeb3f03d4434b1d84a484)
2025-09-18 15:22:55 +08:00
xin.zhang 697dd13875 FIX: support show 3 N3S in one row
jira: [STUDIO-10782]
Change-Id: Ifec1c958dbbc7af02a97a1293621458ea83f61bf
(cherry picked from commit 9008dc115efd5e156ea67dd3becc1ab7bfbc3c6e)
2025-09-18 10:18:25 +08:00
zhou.xu dc9d5661c3 ENH:adjust UI in AmsMapingPopup
jira: none
Change-Id: Ib2e7e642d7a1700abb92eca2546614b2fd7d2bd4
(cherry picked from commit 5c8d62097384836a1a6d496983734c4e3220baaa)
2025-09-18 10:08:08 +08:00
xin.zhang 7b4b655ba1 FIX: update the mapping item
jira: [STUDIO-9942]
Change-Id: I5b46fb530f08d0de4c8cf5a23707ec539d82356d
(cherry picked from commit 8b237bf959d2718c0397530af599c3a24a650d74)
2025-09-17 22:45:11 +08:00
zhou.xu ebf1b8a2e1 ENH:Change text to icon
jira: none
Change-Id: Ibae6e240fd2ee921ce173979c1f36ac842a016d6
(cherry picked from commit da65214326980f7a2239555123b99784c94408bc)
2025-09-17 21:56:59 +08:00
tao wang 51317b4753 NEW:disabled materials item will retain original color
jira:[STUDIO-10539]

Change-Id: Iabdbc6582dae5bcb2ec31775163949f0d451dcca
(cherry picked from commit fdb57550aa01ae88538b2de954670b84c6e72baa)
2025-09-17 21:53:33 +08:00
zhou.xu 06375250e6 ENH:add 'reset' button in AmsMapingPopup
jira: STUDIO-10009
Change-Id: Ia924ae9cbe0bec33f1b37af12633a9cb64836182
(cherry picked from commit 3b8aa5993d93598173e412766a938af17ebb2da5)
2025-09-17 17:56:25 +08:00
zhou.xu 296a8bc474 ENH:Add numerical display in AMS control
jira: STUDIO-10432
Change-Id: I504e38612b09513247462974b4d34b331a5d3240
(cherry picked from commit 3f51f72a66b8b88744512c4a7aa2069116572a76)
2025-09-17 10:07:58 +08:00
zhou.xu 552c674483 NEW:Display AMS mapping relationship in override mode
jira: none
Change-Id: Iac0b3563df2f76710a5bc461adab6dd8335ee62d
(cherry picked from commit 69f28a711f7680a938a46209da61289787f1d8fa)
2025-09-16 15:53:28 +08:00
xin.zhang 6c4479d0ea FIX: update some scale while DPI changed
jira: [STUDIO-10067]
Change-Id: Icb8480d01bdf20a17c699746677d54fc8c8680a6
(cherry picked from commit 677ec9e364a47b944b3ebee5519aea4c35439af1)
2025-09-16 14:49:15 +08:00
zhou.xu 34eac964aa FIX:fix bug for the base color of the color modification
after matching the untreated material
jira:STUDIO-10062

Change-Id: I699fd843600182bc87b224eee488e752b64ca0b4
(cherry picked from commit 29b0be89eb5190bd83d783bf173f14950aef738d)
2025-09-13 18:50:28 +08:00
zhou.xu 193083bbd7 FIX:modify text and fix show bug of SyncAmsInfoDialog
jira: STUDIO-9974
Change-Id: Id10dd54bc23e98cd709860b563fc26b4c570b98f
(cherry picked from commit c3990592ac4f531c162fb37fd08893a6cefdfbc4)
2025-09-10 16:37:15 +08:00
zhou.xu 962e57eb51 ENH:add MaterialSyncItem
jira: STUDIO-9994
Change-Id: Id0d2ebd8dd68854f5cc1c821c7453b75852b8ba7
(cherry picked from commit 012d90bd7e546be17b654a2f71e90628ffd596e5)
2025-09-10 16:28:52 +08:00
tao wang d5e1689d8b ENH:adjust the UI of the Mapping pop-up window
jira:[none]

Change-Id: I26f07db9a9d4fd565fde1e58d01e2c60380f8492
(cherry picked from commit 8f11826bc0d845d13489487fc647758d1e1f4565)
2025-09-10 16:22:21 +08:00
zhou.xu c2b8f7ecae FIX:update SyncAmsInfoDialog
jira: STUDIO-9928 STUDIO-9934
Change-Id: Ica81cb037ff0b99cc53a762b280a666e8c832ab3
(cherry picked from commit eeb474d2cee9187961db1941be952f806ff6c76d)
2025-09-10 15:29:28 +08:00
zhou.xu 2e8a5ecd87 FIX:update SyncAmsInfoDialog
jira: none
Change-Id: I8c34d47e799c56e2b1887794dc8a7bfaf8904d77
(cherry picked from commit e06aed7cbf144cdd77f9b7caa160c1c7f7941794)
2025-09-10 09:47:00 +08:00
zhou.xu e2d86888b5 FIX:add mode for syscAMsInfoDialog
jira: none
Change-Id: Iabfc9953f86cd08a2357a9197d6e1afe8d781d9f
(cherry picked from commit eaeac42b19b322f56b501c0d2ce99c4a6b2fd050)
2025-09-09 15:35:19 +08:00
xin.zhang 55ec1da34f FIX: the single AMS failed to show
jira: [STUDIO-9445]
Change-Id: I8a565f50a109355f85a66567d242998b26fa4bdc
(cherry picked from commit 5ca6d99fd697144eb50e06436a3296ab91880287)
2025-09-07 00:49:19 +08:00
xin.zhang 4a999bb932 FIX: update the refill dialog text
jira: [STUDIO-8563]
Change-Id: Ib4c29f811a68fc8f0ccdea68110c77eea80deb00
(cherry picked from commit 3fa55062f65a4250dc287d54f73bebb2bb4ac700)
2025-09-07 00:00:20 +08:00
xin.zhang afd2772689 FIX: update the refill dialog
jira: [STUDIO-8563]
Change-Id: Ib924f6f83839d0e6134f0243471a6fbc20a61616
(cherry picked from commit df129aebc19e8fbc02b17f540e43db01e16a2d9f)
2025-09-07 00:00:14 +08:00
zhou.xu 78229089bf FIX:fix warning for icon_size define
jira: none
Change-Id: I0393677c5c29354aeca41917daecc87721d9d9ce
(cherry picked from commit 97584e0a1e73a0ce2152ce88c1ffd58abfc96c73)
2025-08-24 23:18:24 +08:00
hang.xu dee99d7a50 NEW:Use new ams mappiong item ui/ux
jira:[STUDIO-7347]

Change-Id: Iba306c4a1b5ae59e406a6862428b425a48002870
(cherry picked from commit 260a7202fc07af028db74159c34106c058fd07ff)
2025-08-24 23:18:11 +08:00
hang.xu 8a491cd55a NEW:change mapping popup layout for multi nozzles.
jira:[Popup for multi nozzles]

Change-Id: I07e6d8f0469d2dcf0037d53e2ca8e22de78ca233
(cherry picked from commit 0924fce6858654c331eafcb91e43252f62e703bf)
2025-08-24 23:18:05 +08:00
hang.xu 905f6b4291 NEW: two nozzles ams mapping
jira:[two nozzles ams mapping]

Change-Id: I914439114b2946cdc1e3e4eb07a37f75f0529c12
(cherry picked from commit 62ef51d0512bdbaf115b92d95ffd0407a15f48bb)
2025-08-24 23:18:04 +08:00
tao wang b46b69ebad NEW:support new ext slot mapping
jira:[support new mapping]

Change-Id: Iaf88f7bd57177df772a926ad162bd3b5a141327a
(cherry picked from commit 3b93bd2dd305026457e9f63ca3faeb153b59c9a5)
2025-08-24 23:18:00 +08:00