Commit Graph

174 Commits

Author SHA1 Message Date
Noisyfox
246f2d32bf Merge branch 'main' into dev/ams-heat
# Conflicts:
#	src/libslic3r/Preset.cpp
#	src/libslic3r/PrintConfig.hpp
#	src/slic3r/GUI/DeviceCore/CMakeLists.txt
#	src/slic3r/GUI/DeviceCore/DevDefs.h
#	src/slic3r/GUI/DeviceCore/DevFilaSystem.cpp
#	src/slic3r/GUI/DeviceCore/DevFilaSystem.h
#	src/slic3r/GUI/DeviceCore/DevUtilBackend.cpp
#	src/slic3r/GUI/DeviceCore/DevUtilBackend.h
#	src/slic3r/GUI/DeviceManager.cpp
#	src/slic3r/GUI/DeviceManager.hpp
#	src/slic3r/GUI/SelectMachine.cpp
#	src/slic3r/GUI/SelectMachine.hpp
2026-07-14 10:10:19 +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
Noisyfox
f713c7ae49 Make sure codes uses same structure/naming/position as BambuStudio
for easier code comparasion & porting in the future
2026-07-07 17:07:40 +08:00
Noisyfox
b2827cb9fa feat: wire AMS humidity click to open AMSDryControl dialog
For N3F and N3S AMS types, clicking the humidity indicator
now opens the full drying control dialog instead of the popup.
2026-07-07 14:36:52 +08:00
Ian Bassi
514ab02525 Localizations refactor (#14254) 2026-06-18 09:13:51 -03:00
SoftFever
1065d85dbc Fix wxEXPAND | wxALIGN_* sizer flag conflicts for wxWidgets 3.2+
wxWidgets 3.2+ asserts on invalid sizer flag combinations where
wxEXPAND (which fills the entire space in the secondary direction)
is combined with wxALIGN_* flags (which are meaningless when expanding).
Remove the conflicting wxALIGN_* flags from all 112 occurrences across
21 files, keeping wxEXPAND and any non-conflicting flags intact.
2026-03-24 20:50:44 +08:00
Alexandre Folle de Menezes
d54adafdaa Grammar and spelling fixes on GUI strings (#12410) 2026-03-03 17:36:42 -03:00
yw4z
00ff06a5d3 Match button styles on whole UI and fixes for button class (#11233)
* init

* web buttons

* Bind Dialog & Fix states

* update

* update

* Update common.css

* objcolordialog

* privacy update dialog

* Update CaliHistoryDialog.cpp

* Update MultiMachineManagerPage.cpp

* Update AMSControl.cpp

* TipsDialog

* Update AMSMaterialsSetting.cpp

* extrusion calibration

* Update UpdateDialogs.cpp

* recenterdialog

* update

* Update Calibration.cpp

* update

* update

* update

* fix

* update

* ReleaseNote

* update

* update

* fix remember checkbox position

* add comments
2025-12-18 12:14:56 +00:00
xin.zhang
9d73426c0a ENH: remove Remove unnecessary restrictions when Load or Unload
JIRA: [STUDIO-14269]
Change-Id: I1663f664d7e3248fa3be29f6040247c0ab3b03c4
(cherry picked from commit 79689556eb247240cf57323706411d3d9f6116a5)
2025-10-28 15:29:58 +08:00
xin.zhang
491100a9d2 ENH: support AMS switching for A series; clean class AMSSetting
jira: [STUDIO-14068] [STUDIO-14330]
Change-Id: I6281fbf56f3bf406ef28103998790a2a98c3f5c0
(cherry picked from commit 8ee02ec73076691c482ea6d089a49ea1c99ad10c)
2025-10-28 15:29:55 +08:00
Noisyfox
a9c0490c68 Update color 2025-10-05 16:02:17 +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
yongfang.bian
2f18d25a2d FIX:clear wxwidgets asset
jira: nojia
Change-Id: I8ba2849afa07bc162a55b326c3d9a45150243ac3
(cherry picked from commit 96ba14c86d3cf180eeb585185d31bcb5d5db7415)
2025-09-30 14:34:08 +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
0bbd563a79 ENH: Add label if the button can not be used
jira: [STUDIO-12929]
Change-Id: Ia4026282a44fd1a83a4292d7a7d11d43ed035db6
(cherry picked from commit e65755a474bc36bee0f22b7a6fb9c7eb5f86be65)
2025-09-28 15:00:22 +08:00
xin.zhang
33891e4ddc FIX: use wxDialog instead
jira: [STUDIO-12440]
Change-Id: I812e401fa46ba803bfc27b5c498b9d576e663173
(cherry picked from commit f02ef821166abf133036835575f6c71a39faa350)
2025-09-24 13:12:55 +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
tao wang
bb74ca8b63 ENH:supports new fields for flag3
jira:[none]

Change-Id: I013c7b843f3f7d5156a8d209572da2bc078e9191
(cherry picked from commit 106d9865c3e569b95519ae9bd9193d10bd991d1a)
2025-09-21 13:47:56 +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
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
tao wang
947e034b14 ENH:fix X&P printer displaying incorrect N3S
jira:[none]

Change-Id: I15b30e3f45b060b696e7dd2ab4617a7835e9e6c9
(cherry picked from commit 8cb358305c341074418fc8d75c260b0cb6bc661b)
2025-09-18 10:56:27 +08:00
xin.zhang
581af2c433 FIX: update is_info_ready function
jira: [STUDIO-10608]
Change-Id: I068969223e54b1fa2056a0acc80bef87d167942c
(cherry picked from commit 44e068e705742b37513d2ce65c18a41007d4b7d8)
2025-09-17 23:08:31 +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
385c8a36a1 FIX: update the time shown; keep the val update while popup
jira: [STUDIO-9268]
Change-Id: I0b743ddb0ae479f9baad6239f68861a199681cda
(cherry picked from commit e1bc737d1cbc1dcf79ceecf9ed301a4a02590d5a)
2025-09-17 17:38:35 +08:00
xin.zhang
8ccd7b0cc6 FIX: make the AMS Preview area able to scroll
jira: [STUDIO-10502]
Change-Id: Ia720caa529636070b0ea2772fbe0f552b02e7060
(cherry picked from commit 6ec477b595fa12298571788ddfac51e06b33ac81)
2025-09-17 15:49:42 +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
f5829ee837 FIX: THE align problem
jira: [STUDIO-10044]
Change-Id: I6bdb49aaf1ba92289110f72980d8532b0afdaaf0
(cherry picked from commit 750673b7f7a2091c66d76a403de9b2a7e305022b)
2025-09-17 15:06:04 +08:00
xin.zhang
23a52305dc FIX: the AMS shown fault because of dirty data
jira: [none]
Change-Id: I82c627e351c996b2c3c352220a2b0a837c205c39
(cherry picked from commit 888687de8283c167a19a9bfaee1654e455148264)
2025-09-17 10:04:05 +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
d999107d49 FIX: the dark mode n3s SVG center is not empty, which will cover the AMS color
jira: [STUDIO-10308]
Change-Id: I67c5bdb753abfe9fa233e427a7b518c2fad4fd01
(cherry picked from commit 0730c4ec51e859f5ba7474c64edfaac657dc69de)
2025-09-16 22:57:47 +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
319e93ba4d FIX: try to reduce page fault while idling
jira: [none]
Change-Id: I563cbf4a8ba8a4ae1e5b1b1f735753d3aef23e16
(cherry picked from commit ed1e9678c351dc037f2e3cc7ea0e19d46731699c)
2025-09-16 21:21:40 +08:00
tao wang
919606110c ENH:optimize some layouts at different resolutions
jira:[STUDIO-9807]

Change-Id: I3d432734a6b3f494ed79d816b754d6d1cbcd3a0f
(cherry picked from commit d134b66446e5a9561152b6545fe79d19a70dddfe)
2025-09-10 09:02:43 +08:00
tao wang
5eeea0beba ENH:fix mapping rules when printing from SD card
jira:[STUDIO-9699]

Change-Id: I6019875b312cd29d20d69c876d195e5da1a88d18
(cherry picked from commit 062d4745dd9d19c62b618235ef819f247e538e68)
2025-09-09 14:41:24 +08:00
tao wang
ac3ead14d2 ENH:optimize device page lag
jira:[none]

Change-Id: I0f6f1b257922d0e25152df9d42814551fa4a89ae
(cherry picked from commit 570751668e120b92953593c38bf2469474e98d8f)
2025-09-07 22:50:48 +08:00
tao wang
0030861915 FIX:fixed a single has incorrect AMS filamet road
jira:[none]

Change-Id: I26cdf08ddb5586cb1511d6aa1c42e7fd308c58f3
(cherry picked from commit a43ad7db0e1986757b3440a15682aaa906e34a8e)
2025-09-07 00:19:49 +08:00
tao wang
9e3e2f05b8 FIX:fixed the error in the total number of steps when loading
jira:[STUDIO-9169]

Change-Id: I62e61f9ca01b4d04b0ef204df1694d8d0fbc06b2
(cherry picked from commit 2b1f8887ef3ec4e7d1b9dbbd10baeebd6cda7638)
2025-09-06 23:57:25 +08:00
xin.zhang
8e91932cd1 FIX:fixed the build failed
jira: STUDIO-9194

Change-Id: I15873b69101183c68e7a46be1bd041419c950a88
(cherry picked from commit bc90ebd932a23a4b2e90d25a03e8aaad927ab293)
2025-09-06 23:09:09 +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
c1c862d2c3 FIX:fixed the issue of AMS not updating location
jira:[STUDIO-9182 STUDIO-9216]

Change-Id: I42e57b47abf357cdc99f71e1739ab9fc3a122d85
(cherry picked from commit 43083f1e4834163c11a961e743db1fb7ece52348)
2025-09-06 21:38:41 +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
44e09c2fea FIX:fixed incorrect layout without AMS
jira:[none ]

Change-Id: I7cda157a149b89820b7936eb058a7ad8058d9e4b
(cherry picked from commit 5550b96305086684084cf538656e9bfada14f164)
(cherry picked from commit d1932d8c982c54fe8796d097464b0805db241a13)
2025-09-05 19:13:24 +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
Noisyfox
59c2a453ab Fix H2D AMS render 2025-05-25 16:45:31 +08:00
Noisyfox
67ccaa3f6c Fix crash when H2D is present 2025-05-25 14:38:40 +08:00
Noisyfox
6e47c0c175 Fix issue that filament is rolled back and forth when click ams slots 2025-05-24 23:23:42 +08:00
Noisyfox
b5c164fae6 Fix crash when switching between printers with different AMS configs 2025-05-22 18:03:20 +08:00
Noisyfox
4425f91caa Fix AMS update 2025-05-21 21:18:53 +08:00