mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 20:51:12 -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) { | ||||
|                 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; | ||||
|  | @ -1381,11 +1391,32 @@ void MachineObject::parse_version_func() | |||
|         if (esp32_version != module_vers.end()) { | ||||
|             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") { | ||||
|         is_support_ai_monitoring = true; | ||||
|         is_cloud_print_only = true; | ||||
|         is_support_remote_tunnel = true; | ||||
|         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() | ||||
| { | ||||
|     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(); | ||||
|         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) { | ||||
|  |  | |||
|  | @ -607,7 +607,7 @@ public: | |||
|     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
 | ||||
|     PrinterFirmwareType       lifecycle; | ||||
|     PrinterFirmwareType       lifecycle { PrinterFirmwareType::FIRMEARE_TYPE_UKNOWN }; | ||||
|     std::string upgrade_progress; | ||||
|     std::string upgrade_message; | ||||
|     std::string upgrade_status; | ||||
|  | @ -720,6 +720,7 @@ public: | |||
|     bool is_support_ams_humidity {true}; | ||||
|     bool is_support_filament_edit_virtual_tray {true}; | ||||
|     bool is_cloud_print_only {false}; | ||||
|     bool is_support_mqtt_alive {false}; | ||||
| 
 | ||||
|     /* sdcard */ | ||||
|     MachineObject::SdcardState sdcard_state { NO_SDCARD }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stone Li
						Stone Li