Support latest BambuLab P/X/A firmwares & AMS 2/HT (#9517)

# How to download this
To download the latest test version of this PR, click the "Checks" tab
on top of this page, then click "Build All", then you will find the
latest build:

![image](https://github.com/user-attachments/assets/48bd3d59-941b-48d8-a004-8e8944a31984)

![image](https://github.com/user-attachments/assets/82945f81-2d31-4962-9307-c9a74975aba4)


-----------------


# About this PR

An option has been added in preference to toggle between the new network
plugin and the legacy one:

![image](https://github.com/user-attachments/assets/1b059f60-cd53-40b4-9415-d786048f41ba)


By default it uses the legacy network plugin, which does not come with
the authentication feature. You can use it if your printer is on an old
firmware and do not need to use the new AMS 2 pro/HT etc.

To support the new AMS 2 or if you just decided to update to the latest
firmware, uncheck this option and restart Orca, which will tell it to
use the latest bambu network plugin. I don't have X1/A1 so I could not
test it to see if you could still use the BambuCloud print with the new
plugin, or maybe you have to switch to Lan/Dev mode. However cloud print
does still work for P1 with firmware 1.8.0.




![image](https://github.com/user-attachments/assets/35ffd8bf-90b7-4ef3-8e6f-edd7f8cafadb)

![Image](https://github.com/user-attachments/assets/b3b43bc1-6aa2-4b1f-acd2-ebe0f0123dc9)

![image](https://github.com/user-attachments/assets/8f880110-83ea-4e1f-bddc-ebd0afde2f82)

![image](https://github.com/user-attachments/assets/44915c4b-f02a-4ae3-9466-dc533c047702)


Other updates:

- [x] Support print all plates for P1P/P1S
- [x] Support showing humidity percentage
- [x] Support showing info of AMS 2 pro
- [x] Work with AMS HT properly
- [x] Show AMS temp & drying
This commit is contained in:
SoftFever
2025-07-06 16:28:02 +08:00
committed by GitHub
284 changed files with 12051 additions and 6666 deletions

View File

@@ -2081,7 +2081,6 @@ void Sidebar::auto_calc_flushing_volumes(const int modify_id)
auto& printer_config = preset_bundle->printers.get_edited_preset().config;
const auto& full_config = wxGetApp().preset_bundle->full_config();
auto& ams_multi_color_filament = preset_bundle->ams_multi_color_filment;
auto& ams_filament_list = preset_bundle->filament_ams_list;
const std::vector<double>& init_matrix = (project_config.option<ConfigOptionFloats>("flush_volumes_matrix"))->values;
const std::vector<double>& init_extruders = (project_config.option<ConfigOptionFloats>("flush_volumes_vector"))->values;
@@ -7816,7 +7815,7 @@ wxString Plater::priv::get_export_gcode_filename(const wxString& extension, bool
}
} else {
if (only_filename) {
if(m_project_name == _L("Untitled"))
if(!model.objects.empty() && m_project_name == _L("Untitled"))
return wxString(fs::path(model.objects.front()->name).replace_extension().c_str()) + from_u8(plate_index_str) + extension;
if (export_all)