ENH: add new part: extinguish

JIRA: [STUDIO-11578]
Change-Id: I39dc15fe022f38d8c775c2675120bbbce05f95f3
(cherry picked from commit 25dc4e37e3681a840df9af7d98bbb134082492ab)
This commit is contained in:
xin.zhang
2025-08-06 10:33:02 +08:00
committed by Noisyfox
parent 561f4ebfbd
commit eb1eb7e81a
6 changed files with 72 additions and 6 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

View File

@@ -43,6 +43,7 @@ public:
bool isAirPump() const { return product_name.Contains("Air Pump"); }
bool isLaszer() const { return product_name.Contains("Laser"); }
bool isCuttingModule() const { return product_name.Contains("Cutting Module"); }
bool isExtinguishSystem() const { return product_name.Contains("Extinguishing System"); }
};

View File

@@ -817,6 +817,7 @@ void MachineObject::clear_version_info()
air_pump_version_info = DevFirmwareVersionInfo();
laser_version_info = DevFirmwareVersionInfo();
cutting_module_version_info = DevFirmwareVersionInfo();
extinguish_version_info = DevFirmwareVersionInfo();
module_vers.clear();
}
@@ -828,6 +829,8 @@ void MachineObject::store_version_info(const DevFirmwareVersionInfo& info)
laser_version_info = info;
} else if (info.isCuttingModule()) {
cutting_module_version_info = info;
} else if (info.isExtinguishSystem()) {
extinguish_version_info = info;
}
module_vers.emplace(info.name, info);

View File

@@ -352,6 +352,7 @@ public:
DevFirmwareVersionInfo air_pump_version_info;
DevFirmwareVersionInfo laser_version_info;
DevFirmwareVersionInfo cutting_module_version_info;
DevFirmwareVersionInfo extinguish_version_info;
std::map<std::string, DevFirmwareVersionInfo> module_vers;
std::map<std::string, DevFirmwareVersionInfo> new_ver_list;
bool m_new_ver_list_exist = false;

View File

@@ -26,6 +26,7 @@ static const std::unordered_map<wxString, wxString> ACCESSORY_DISPLAY_STR = {
{"O2L_PCM", L("Cutting Module")},
{"O2L_ACM", "Active Cutting Module"},
{"O2L_UCM", "Ultrasonic Cutting Module"},
{"O2L-AFP", L("Auto Fire Extinguishing System")},
};
enum FIRMWARE_STASUS
@@ -216,6 +217,7 @@ MachineInfoPanel::MachineInfoPanel(wxWindow* parent, wxWindowID id, const wxPoin
createCuttingWidgets(m_main_left_sizer);
createLaserWidgets(m_main_left_sizer);
createAirPumpWidgets(m_main_left_sizer);
createExtinguishWidgets(m_main_left_sizer);
m_main_sizer->Add(m_main_left_sizer, 1, wxEXPAND, 0);
@@ -389,6 +391,27 @@ void MachineInfoPanel::createLaserWidgets(wxBoxSizer* main_left_sizer)
main_left_sizer->Add(m_laser_sizer, 0, wxEXPAND, 0);
}
void MachineInfoPanel::createExtinguishWidgets(wxBoxSizer* main_left_sizer)
{
m_extinguish_line_above = new wxStaticLine(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL);
m_extinguish_line_above->SetBackgroundColour(wxColour(206, 206, 206));
main_left_sizer->Add(m_extinguish_line_above, 0, wxEXPAND | wxLEFT, FromDIP(40));
m_extinguish_img = new wxStaticBitmap(this, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(200), FromDIP(200)));
m_extinguish_img->SetBitmap(m_img_extinguish.bmp());
wxBoxSizer* content_sizer = new wxBoxSizer(wxVERTICAL);
content_sizer->Add(0, 40, 0, wxEXPAND, FromDIP(5));
m_extinguish_version = new uiDeviceUpdateVersion(this, wxID_ANY);
content_sizer->Add(m_extinguish_version, 0, wxEXPAND, 0);
m_extinguish_sizer = new wxBoxSizer(wxHORIZONTAL);
m_extinguish_sizer->Add(m_extinguish_img, 0, wxALIGN_TOP | wxALL, FromDIP(5));
m_extinguish_sizer->Add(content_sizer, 1, wxEXPAND, 0);
main_left_sizer->Add(m_extinguish_sizer, 0, wxEXPAND, 0);
}
void MachineInfoPanel::msw_rescale()
{
rescale_bitmaps();
@@ -421,6 +444,7 @@ void MachineInfoPanel::init_bitmaps()
m_img_laser = ScalableBitmap(this, "laser", 160);
m_img_cutting = ScalableBitmap(this, "cut", 160);
m_img_extinguish = ScalableBitmap(this, "extinguish", 160);
upgrade_green_icon = ScalableBitmap(this, "monitor_upgrade_online", 5);
upgrade_gray_icon = ScalableBitmap(this, "monitor_upgrade_offline", 5);
@@ -516,6 +540,7 @@ void MachineInfoPanel::update(MachineObject* obj)
update_air_pump(obj);
update_cut(obj);
update_laszer(obj);
update_extinguish(obj);
//update progress
int upgrade_percent = obj->get_upgrade_percent();
@@ -1043,6 +1068,19 @@ void MachineInfoPanel::update_laszer(MachineObject* obj)
}
}
void MachineInfoPanel::update_extinguish(MachineObject* obj)
{
if (obj && obj->extinguish_version_info.isValid())
{
m_extinguish_version->UpdateInfo(obj->extinguish_version_info);
show_extinguish(true);
}
else
{
show_extinguish(false);
}
}
void MachineInfoPanel::show_status(int status, std::string upgrade_status_str)
{
if (last_status == status && last_status_str == upgrade_status_str) return;
@@ -1167,6 +1205,17 @@ void MachineInfoPanel::show_laszer(bool show)
}
}
void MachineInfoPanel::show_extinguish(bool show)
{
if (m_extinguish_version->IsShown() != show)
{
m_extinguish_img->Show(show);
m_extinguish_line_above->Show(show);
m_extinguish_version->Show(show);
}
}
void MachineInfoPanel::on_sys_color_changed()
{
if (m_obj) {

View File

@@ -126,6 +126,12 @@ protected:
wxStaticLine* m_laser_line_above = nullptr;;
uiDeviceUpdateVersion* m_laser_version = nullptr;
/* fire extinguish*/
wxBoxSizer* m_extinguish_sizer = nullptr;
wxStaticBitmap* m_extinguish_img = nullptr;
wxStaticLine* m_extinguish_line_above = nullptr;;
uiDeviceUpdateVersion* m_extinguish_version = nullptr;
/* upgrade widgets */
wxBoxSizer* m_upgrading_sizer;
wxStaticText * m_staticText_upgrading_info;
@@ -146,6 +152,7 @@ protected:
ScalableBitmap m_img_air_pump;
ScalableBitmap m_img_cutting;
ScalableBitmap m_img_laser;
ScalableBitmap m_img_extinguish;
ScalableBitmap upgrade_gray_icon;
ScalableBitmap upgrade_green_icon;
ScalableBitmap upgrade_yellow_icon;
@@ -175,16 +182,10 @@ public:
void update(MachineObject *obj);
void update_version_text(MachineObject *obj);
void update_ams_ext(MachineObject *obj);
void update_air_pump(MachineObject* obj);
void update_cut(MachineObject* obj);
void update_laszer(MachineObject* obj);
void show_status(int status, std::string upgrade_status_str = "");
void show_ams(bool show = false, bool force_update = false);
void show_ext(bool show = false, bool force_update = false);
void show_extra_ams(bool show = false, bool force_update = false);
void show_air_pump(bool show = true);
void show_cut(bool show = true);
void show_laszer(bool show = true);
void on_upgrade_firmware(wxCommandEvent &event);
void on_consisitency_upgrade_firmware(wxCommandEvent &event);
@@ -206,6 +207,17 @@ private:
void createAirPumpWidgets(wxBoxSizer* main_left_sizer);
void createCuttingWidgets(wxBoxSizer* main_left_sizer);
void createLaserWidgets(wxBoxSizer* main_left_sizer);
void createExtinguishWidgets(wxBoxSizer* main_left_sizer);
void update_air_pump(MachineObject* obj);
void update_cut(MachineObject* obj);
void update_laszer(MachineObject* obj);
void update_extinguish(MachineObject* obj);
void show_air_pump(bool show = true);
void show_cut(bool show = true);
void show_laszer(bool show = true);
void show_extinguish(bool show = true);
};
//enum UpgradeMode {