mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-10 08:17:51 -06:00
ENH: compatible with old firmware in mqtt keep alive
Change-Id: Iaee3401d8dd26553169da7a9a627b31357c3d302 Signed-off-by: Stone Li <stone.li@bambulab.com>
This commit is contained in:
parent
6ea3259d05
commit
030b3f0c58
2 changed files with 35 additions and 3 deletions
|
@ -1359,7 +1359,17 @@ void MachineObject::parse_version_func()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) {
|
if (firmware_type == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) {
|
||||||
local_use_ssl_for_mqtt = ota_version->second.sw_ver.compare("01.03.01.04") >= 0;
|
local_use_ssl_for_mqtt = ota_version->second.sw_ver.compare("01.03.01.04") >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.05.06.05") >= 0;
|
||||||
|
}
|
||||||
|
else if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("00.03.10.05") >= 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.05.06.05") >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
is_support_remote_tunnel = true;
|
is_support_remote_tunnel = true;
|
||||||
|
@ -1381,11 +1391,32 @@ void MachineObject::parse_version_func()
|
||||||
if (esp32_version != module_vers.end()) {
|
if (esp32_version != module_vers.end()) {
|
||||||
ams_support_auto_switch_filament_flag = esp32_version->second.sw_ver.compare("00.03.11.50") >= 0;
|
ams_support_auto_switch_filament_flag = esp32_version->second.sw_ver.compare("00.03.11.50") >= 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.03.50.01") >= 0;
|
||||||
|
}
|
||||||
|
else if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("00.06.03.51") >= 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.03.50.01") >= 0;
|
||||||
|
}
|
||||||
|
|
||||||
} else if (printer_type == "C12") {
|
} else if (printer_type == "C12") {
|
||||||
is_support_ai_monitoring = true;
|
is_support_ai_monitoring = true;
|
||||||
is_cloud_print_only = true;
|
is_cloud_print_only = true;
|
||||||
is_support_remote_tunnel = true;
|
is_support_remote_tunnel = true;
|
||||||
local_camera_proto = 1;
|
local_camera_proto = 1;
|
||||||
|
|
||||||
|
if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_PRODUCTION) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.03.50.01") >= 0;
|
||||||
|
}
|
||||||
|
else if (lifecycle == PrinterFirmwareType::FIRMWARE_TYPE_ENGINEER) {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("00.06.03.51") >= 0;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
is_support_mqtt_alive = ota_version->second.sw_ver.compare("01.03.50.01") >= 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -4139,7 +4170,7 @@ void DeviceManager::set_agent(NetworkAgent* agent)
|
||||||
void DeviceManager::check_pushing()
|
void DeviceManager::check_pushing()
|
||||||
{
|
{
|
||||||
MachineObject* obj = this->get_selected_machine();
|
MachineObject* obj = this->get_selected_machine();
|
||||||
if (obj) {
|
if (obj && !obj->is_support_mqtt_alive) {
|
||||||
std::chrono::system_clock::time_point start = std::chrono::system_clock::now();
|
std::chrono::system_clock::time_point start = std::chrono::system_clock::now();
|
||||||
auto internal = std::chrono::duration_cast<std::chrono::milliseconds>(start - obj->last_update_time);
|
auto internal = std::chrono::duration_cast<std::chrono::milliseconds>(start - obj->last_update_time);
|
||||||
if (internal.count() > TIMEOUT_FOR_STRAT && internal.count() < 1000 * 60 * 60 * 300) {
|
if (internal.count() > TIMEOUT_FOR_STRAT && internal.count() < 1000 * 60 * 60 * 300) {
|
||||||
|
|
|
@ -607,7 +607,7 @@ public:
|
||||||
int upgrade_display_state = 0; // 0 : upgrade unavailable, 1: upgrade idle, 2: upgrading, 3: upgrade_finished
|
int upgrade_display_state = 0; // 0 : upgrade unavailable, 1: upgrade idle, 2: upgrading, 3: upgrade_finished
|
||||||
int upgrade_display_hold_count = 0;
|
int upgrade_display_hold_count = 0;
|
||||||
PrinterFirmwareType firmware_type; // engineer|production
|
PrinterFirmwareType firmware_type; // engineer|production
|
||||||
PrinterFirmwareType lifecycle;
|
PrinterFirmwareType lifecycle { PrinterFirmwareType::FIRMEARE_TYPE_UKNOWN };
|
||||||
std::string upgrade_progress;
|
std::string upgrade_progress;
|
||||||
std::string upgrade_message;
|
std::string upgrade_message;
|
||||||
std::string upgrade_status;
|
std::string upgrade_status;
|
||||||
|
@ -720,6 +720,7 @@ public:
|
||||||
bool is_support_ams_humidity {true};
|
bool is_support_ams_humidity {true};
|
||||||
bool is_support_filament_edit_virtual_tray {true};
|
bool is_support_filament_edit_virtual_tray {true};
|
||||||
bool is_cloud_print_only {false};
|
bool is_cloud_print_only {false};
|
||||||
|
bool is_support_mqtt_alive {false};
|
||||||
|
|
||||||
/* sdcard */
|
/* sdcard */
|
||||||
MachineObject::SdcardState sdcard_state { NO_SDCARD };
|
MachineObject::SdcardState sdcard_state { NO_SDCARD };
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue