mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -06:00 
			
		
		
		
	NEW: add track for cmd ack
Change-Id: Ibf2c9874bfac0b7a83506a7de2418ef8f3650dc3
This commit is contained in:
		
							parent
							
								
									5bb35c3086
								
							
						
					
					
						commit
						0a1c597da0
					
				
					 2 changed files with 42 additions and 2 deletions
				
			
		|  | @ -1393,6 +1393,14 @@ void MachineObject::parse_version_func() | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | bool MachineObject::is_studio_cmd(int sequence_id) | ||||||
|  | { | ||||||
|  |     if (sequence_id >= START_SEQ_ID && sequence_id < END_SEQ_ID) { | ||||||
|  |         return true; | ||||||
|  |     } | ||||||
|  |     return false; | ||||||
|  | } | ||||||
|  | 
 | ||||||
| int MachineObject::command_get_version(bool with_retry) | int MachineObject::command_get_version(bool with_retry) | ||||||
| { | { | ||||||
|     BOOST_LOG_TRIVIAL(info) << "command_get_version"; |     BOOST_LOG_TRIVIAL(info) << "command_get_version"; | ||||||
|  | @ -2355,6 +2363,16 @@ int MachineObject::parse_json(std::string payload) | ||||||
| 
 | 
 | ||||||
|         if (j.contains("print")) { |         if (j.contains("print")) { | ||||||
|             json jj = j["print"]; |             json jj = j["print"]; | ||||||
|  |             int sequence_id = 0; | ||||||
|  |             if (jj.contains("sequence_id")) { | ||||||
|  |                 std::string str_seq = jj["sequence_id"].get<std::string>(); | ||||||
|  |                 try { | ||||||
|  |                     sequence_id = stoi(str_seq); | ||||||
|  |                 } | ||||||
|  |                 catch(...) { | ||||||
|  |                     ; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|             if (jj.contains("command")) { |             if (jj.contains("command")) { | ||||||
|                 if (jj["command"].get<std::string>() == "push_status") { |                 if (jj["command"].get<std::string>() == "push_status") { | ||||||
|                     m_push_count++; |                     m_push_count++; | ||||||
|  | @ -3298,9 +3316,23 @@ int MachineObject::parse_json(std::string payload) | ||||||
|                 } else if (jj["command"].get<std::string>() == "gcode_line") { |                 } else if (jj["command"].get<std::string>() == "gcode_line") { | ||||||
|                     //ack of gcode_line
 |                     //ack of gcode_line
 | ||||||
|                     BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of gcode_line = " << j.dump(4); |                     BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of gcode_line = " << j.dump(4); | ||||||
|  |                     if (m_agent && is_studio_cmd(sequence_id)) { | ||||||
|  |                         json t; | ||||||
|  |                         t["dev_id"] = this->dev_id; | ||||||
|  |                         t["signal"] = this->wifi_signal; | ||||||
|  |                         m_agent->track_event("ack_cmd_gcode_line", t.dump()); | ||||||
|  |                     } | ||||||
|                 } else if (jj["command"].get<std::string>() == "project_file") { |                 } else if (jj["command"].get<std::string>() == "project_file") { | ||||||
|                     //ack of project file
 |                     //ack of project file
 | ||||||
|                     BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of project_file = " << j.dump(4); |                     BOOST_LOG_TRIVIAL(debug) << "parse_json, ack of project_file = " << j.dump(4); | ||||||
|  | 
 | ||||||
|  |                     if (m_agent && is_studio_cmd(sequence_id)) { | ||||||
|  |                         json t; | ||||||
|  |                         t["dev_id"] = this->dev_id; | ||||||
|  |                         t["signal"] = this->wifi_signal; | ||||||
|  |                         m_agent->track_event("ack_cmd_project_file", t.dump()); | ||||||
|  |                     } | ||||||
|  | 
 | ||||||
|                     std::string result; |                     std::string result; | ||||||
|                     if (jj.contains("result")) { |                     if (jj.contains("result")) { | ||||||
|                         result = jj["result"].get<std::string>(); |                         result = jj["result"].get<std::string>(); | ||||||
|  | @ -3558,8 +3590,13 @@ int MachineObject::publish_gcode(std::string gcode_str) | ||||||
|     j["print"]["param"] = gcode_str; |     j["print"]["param"] = gcode_str; | ||||||
|     j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); |     j["print"]["sequence_id"] = std::to_string(MachineObject::m_sequence_id++); | ||||||
| 
 | 
 | ||||||
|     if (m_agent) |     if (m_agent) { | ||||||
|         j["print"]["user_id"] = m_agent->get_user_id(); |         j["print"]["user_id"] = m_agent->get_user_id(); | ||||||
|  |         json t; | ||||||
|  |         t["dev_id"] = this->dev_id; | ||||||
|  |         t["signal"] = this->wifi_signal; | ||||||
|  |         m_agent->track_event("cmd_gcode_line", t.dump()); | ||||||
|  |     } | ||||||
|     return publish_json(j.dump()); |     return publish_json(j.dump()); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -33,6 +33,8 @@ | ||||||
| #define GET_VERSION_RETRYS      10 | #define GET_VERSION_RETRYS      10 | ||||||
| #define RETRY_INTERNAL          2000 | #define RETRY_INTERNAL          2000 | ||||||
| #define VIRTUAL_TRAY_ID         254 | #define VIRTUAL_TRAY_ID         254 | ||||||
|  | #define START_SEQ_ID            20000 | ||||||
|  | #define END_SEQ_ID              30000 | ||||||
| 
 | 
 | ||||||
| inline int correct_filament_temperature(int filament_temp) | inline int correct_filament_temperature(int filament_temp) | ||||||
| { | { | ||||||
|  | @ -389,7 +391,7 @@ public: | ||||||
|     }; |     }; | ||||||
| 
 | 
 | ||||||
|     /* static members and functions */ |     /* static members and functions */ | ||||||
|     static inline int m_sequence_id = 20000; |     static inline int m_sequence_id = START_SEQ_ID; | ||||||
|     static std::string parse_printer_type(std::string type_str); |     static std::string parse_printer_type(std::string type_str); | ||||||
|     static std::string get_preset_printer_model_name(std::string printer_type); |     static std::string get_preset_printer_model_name(std::string printer_type); | ||||||
|     static std::string get_preset_printer_thumbnail_img(std::string printer_type); |     static std::string get_preset_printer_thumbnail_img(std::string printer_type); | ||||||
|  | @ -684,6 +686,7 @@ public: | ||||||
|     ~MachineObject(); |     ~MachineObject(); | ||||||
| 
 | 
 | ||||||
|     void parse_version_func(); |     void parse_version_func(); | ||||||
|  |     bool is_studio_cmd(int seq); | ||||||
|     /* command commands */ |     /* command commands */ | ||||||
|     int command_get_version(bool with_retry = true); |     int command_get_version(bool with_retry = true); | ||||||
|     int command_request_push_all(); |     int command_request_push_all(); | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Stone Li
						Stone Li