1.优化马达振动功能
authordxy <1731678236qq.com>
Fri, 10 Oct 2025 06:59:14 +0000 (14:59 +0800)
committerdxy <1731678236qq.com>
Fri, 10 Oct 2025 06:59:14 +0000 (14:59 +0800)
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/ai_VC.py
2.sdk/project/7PIN_1_5/sdk/services/microPython/ports/quectel/core/motor.py

index 01dd8d7..040e1ea 100644 (file)
@@ -3117,10 +3117,10 @@ class AI_VC(Abstract):
            # EventMesh.publish("stop_AI_record")
             self.Close()
             EventMesh.publish("open_led_green")
-            EventMesh.publish("start_voice_record",2)#å\81\9cæ­¢静默录音
+            EventMesh.publish("start_voice_record",2)#å¼\80å§\8b静默录音
             return
         
-        EventMesh.publish("stop_voice_record") #å¼\80å\90¯é\9d\99é»\98é\9c\80è¦\81å\85³é\97­
+        EventMesh.publish("stop_voice_record") #å\85³é\97­é\9d\99é»\98å½\95é\9f³
         print("AI_key_press")
         self.get_config_timer_count = 0
         self.key_state = 1
index c5c29f6..08415dc 100644 (file)
@@ -28,12 +28,16 @@ class motorEventManager(Abstract):#马达事件
         self.motor_open_time = 0 #开马达事件
         self.motor_close_time = 0#关马达事件100ms
         self.motor_count = 0
+        self.motor_count_tmp = 0
         self.motor_mode = 0#模式
         _thread.start_new_thread(self.motorInfo_queue_thread, ())
         EventMesh.subscribe("publish_message_event_motorInfo",self.publish_message_event_motorInfo)
         EventMesh.subscribe("set_motor_time", self.set_motor_time)#设置参数
         EventMesh.subscribe("close_motor_infor", self.close_motor_infor)#关闭马达和定时器
+        EventMesh.subscribe("get_motor_enable", self.get_motor_enable)#关闭马达和定时器
         pass
+    def get_motor_enable(self,event=None,msg=None):
+        return self.motor_enable
 
     def motorInfo_queue_thread(self):
         while True:
@@ -63,7 +67,11 @@ class motorEventManager(Abstract):#马达事件
                 self.motor_total_time = msg[2]#总的时间
                 self.motor_open_time = msg[3] #开马达事件
                 self.motor_close_time = msg[4]#关马达事件100ms
-                self.motor_count = 0
+                if len(msg) <= 5:
+                    self.motor_count = 0
+                else:
+                    self.motor_count = msg[5]
+
                 self.motor_timer.stop()
                 # print("motor msg",msg)
                 close_motor()
@@ -76,13 +84,27 @@ class motorEventManager(Abstract):#马达事件
             return
         if self.motor_mode == 1:# 持续振动时间100单位 长振
             if self.motor_total_time > 0:
-                self.motor_total_time-=1
-                if self.motor_total_time > 0:
-                    open_motor()
+                if self.motor_count == 0:
+                    self.motor_total_time-=1
+                    if self.motor_total_time > 0:
+                        open_motor()
+                    else:
+                        close_motor()
+                        EventMesh.publish("close_motor_infor")#关闭马达和定时器
+                        return
                 else:
-                    close_motor()
-                    EventMesh.publish("close_motor_infor")#关闭马达和定时器
-                    return
+                    if self.motor_count_tmp > self.motor_count:
+                        close_motor()
+                        EventMesh.publish("close_motor_infor")#关闭马达和定时器
+                        return
+                    self.motor_total_time-=1
+                    if self.motor_total_time > 0:
+                        open_motor()
+                    else:
+                        close_motor()
+                        self.motor_count_tmp+=1
+                    
+                    pass
         elif self.motor_mode == 2:# 间隔振动
             # print("self.motor_count",self.motor_count,self.motor_open_time,self.motor_close_time,self.motor_total_time)
             if self.motor_count % (self.motor_open_time) < self.motor_close_time: # 4 4 2 1%4 = 1 2%4 = 2 3%4 = 3
@@ -90,6 +112,7 @@ class motorEventManager(Abstract):#马达事件
             else:
                 close_motor()
             if self.motor_count >= self.motor_total_time-1:
+                close_motor()
                 EventMesh.publish("close_motor_infor")#关闭马达和定时器
                 return
             self.motor_count+=1