mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-21 21:58:03 -06:00
ENH: parse ack of upgrade confirm
Change-Id: I33691749221aac4c83f71d6d76708d7b2d8d6d4d Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
8c923804fc
commit
6fee9bcca1
4 changed files with 58 additions and 23 deletions
|
@ -2653,8 +2653,14 @@ int MachineObject::parse_json(std::string payload)
|
|||
this->command_get_version();
|
||||
});
|
||||
}
|
||||
if (upgrade_display_hold_count > 0)
|
||||
upgrade_display_hold_count--;
|
||||
else
|
||||
upgrade_display_state = jj["upgrade_state"]["dis_state"].get<int>();
|
||||
} else {
|
||||
if (upgrade_display_hold_count > 0)
|
||||
upgrade_display_hold_count--;
|
||||
else {
|
||||
//BBS compatibility with old version
|
||||
if (upgrade_status == "DOWNLOADING"
|
||||
|| upgrade_status == "FLASHING"
|
||||
|
@ -2679,6 +2685,7 @@ int MachineObject::parse_json(std::string payload)
|
|||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
// new ver list
|
||||
if (jj["upgrade_state"].contains("new_ver_list")) {
|
||||
m_new_ver_list_exist = true;
|
||||
|
@ -3333,6 +3340,21 @@ int MachineObject::parse_json(std::string payload)
|
|||
}
|
||||
} catch (...) {}
|
||||
|
||||
// upgrade
|
||||
try {
|
||||
if (j.contains("upgrade")) {
|
||||
if (j["upgrade"].contains("command")) {
|
||||
if (j["upgrade"]["command"].get<std::string>() == "upgrade_confirm") {
|
||||
this->upgrade_display_state == UpgradingInProgress;
|
||||
upgrade_display_hold_count = HOLD_COUNT_MAX;
|
||||
BOOST_LOG_TRIVIAL(info) << "ack of upgrade_confirm";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
catch (...) {
|
||||
;
|
||||
}
|
||||
|
||||
// event info
|
||||
try {
|
||||
|
|
|
@ -533,6 +533,7 @@ public:
|
|||
bool upgrade_new_version { false };
|
||||
bool upgrade_consistency_request { false };
|
||||
int upgrade_display_state = 0; // 0 : upgrade unavailable, 1: upgrade idle, 2: upgrading, 3: upgrade_finished
|
||||
int upgrade_display_hold_count = 0;
|
||||
PrinterFirmwareType firmware_type; // engineer|production
|
||||
std::string upgrade_progress;
|
||||
std::string upgrade_message;
|
||||
|
|
|
@ -738,6 +738,17 @@ void MachineInfoPanel::on_sys_color_changed()
|
|||
}
|
||||
}
|
||||
|
||||
void MachineInfoPanel::confirm_upgrade(MachineObject* obj)
|
||||
{
|
||||
if (obj) {
|
||||
obj->command_upgrade_confirm();
|
||||
obj->upgrade_display_state = MachineObject::UpgradingDisplayState::UpgradingInProgress;
|
||||
obj->upgrade_display_hold_count = HOLD_COUNT_MAX;
|
||||
// enter in progress status first
|
||||
this->show_status(MachineObject::UpgradingDisplayState::UpgradingInProgress);
|
||||
}
|
||||
}
|
||||
|
||||
void MachineInfoPanel::upgrade_firmware_internal() {
|
||||
if (!m_obj)
|
||||
return;
|
||||
|
@ -746,7 +757,7 @@ void MachineInfoPanel::upgrade_firmware_internal() {
|
|||
} else if (panel_type == ptAmsPanel) {
|
||||
m_obj->command_upgrade_firmware(m_ams_info);
|
||||
} else if (panel_type == ptPushPanel) {
|
||||
m_obj->command_upgrade_confirm();
|
||||
confirm_upgrade();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -755,9 +766,7 @@ void MachineInfoPanel::on_upgrade_firmware(wxCommandEvent &event)
|
|||
if (confirm_dlg == nullptr) {
|
||||
confirm_dlg = new SecondaryCheckDialog(this->GetParent(), wxID_ANY, _L("Update firmware"));
|
||||
confirm_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this](wxCommandEvent& e) {
|
||||
if (m_obj) {
|
||||
m_obj->command_upgrade_confirm();
|
||||
}
|
||||
this->confirm_upgrade(m_obj);
|
||||
});
|
||||
}
|
||||
confirm_dlg->update_text(_L("Are you sure you want to update? This will take about 10 minutes. Do not turn off the power while the printer is updating."));
|
||||
|
@ -899,6 +908,8 @@ void UpgradePanel::update(MachineObject *obj)
|
|||
force_dlg->Bind(EVT_SECONDARY_CHECK_CONFIRM, [this](wxCommandEvent& e) {
|
||||
if (m_obj) {
|
||||
m_obj->command_upgrade_confirm();
|
||||
m_obj->upgrade_display_state == MachineObject::UpgradingDisplayState::UpgradingInProgress;
|
||||
m_obj->upgrade_display_hold_count = HOLD_COUNT_MAX;
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
@ -109,6 +109,7 @@ protected:
|
|||
|
||||
void upgrade_firmware_internal();
|
||||
void on_show_release_note(wxMouseEvent &event);
|
||||
void confirm_upgrade(MachineObject* obj = nullptr);
|
||||
|
||||
public:
|
||||
MachineInfoPanel(wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = wxDefaultPosition, const wxSize& size = wxDefaultSize, long style = wxTAB_TRAVERSAL, const wxString& name = wxEmptyString);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue