D10:
authordxy15521469561 <1731678236@qq.com>
Mon, 25 Sep 2023 07:22:19 +0000 (15:22 +0800)
committerdxy15521469561 <1731678236@qq.com>
Mon, 25 Sep 2023 07:22:19 +0000 (15:22 +0800)
优化bug
K01:
菜单滑动变点击事件处理

2.sdk/Helios_SDK/services/microPython/lib/lvgl/lv_conf.h
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/led.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/main_init.py
2.sdk/project/D10/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/D10/usr/static/R_POWER_OFF_1.mp3 [new file with mode: 0644]
2.sdk/project/K01/sdk/services/microPython/ports/quectel/core/mgr.py
2.sdk/project/K01/sdk/services/microPython/ports/quectel/core/ui.py
2.sdk/project/K01/sdk/services/microPython/ports/quectel/core/ui_setting.py
2.sdk/project/S6/sdk/services/microPython/ports/quectel/core/btn_device_ec800m.py

index 1f69028..e46fc58 100644 (file)
 #define LV_DISP_DEF_REFR_PERIOD     30      /*[ms]*/
 
 /*Input device read period in milliseconds*/
-#define LV_INDEV_DEF_READ_PERIOD    10      /*[ms]*/
+#define LV_INDEV_DEF_READ_PERIOD    30      /*[ms]*/
 
 /*Use a custom tick source that tells the elapsed time in milliseconds.
  *It removes the need to manually update the tick with `lv_tick_inc()`)*/
index cfdced7..707aa8a 100644 (file)
@@ -39,8 +39,10 @@ class intervManager(Abstract):
     def __init__(self):
         self.timer = osTimer()
 
-        self.pwk_timer = osTimer()
+        self.pwk_timer1 = osTimer()
+        self.pwk_timer2 = osTimer()
         self.timer1 = osTimer()
+        self.timer1_sos = osTimer()
         self.aud = audio.Audio(0)
         self.aud.set_pa(Pin.GPIO29)
         self.aud.setVolume(11)
@@ -155,6 +157,7 @@ class intervManager(Abstract):
         EventMesh.subscribe("call_test_event", self.call_test_event)#电话拨进响铃测试
 
         EventMesh.subscribe("dial_out_call_center_cb", self.dial_out_call_center_cb)#电话拨出去
+        EventMesh.subscribe("sos_out_call_center_cb", self.sos_out_call_center_cb)#sos拨打
 
         EventMesh.subscribe("close_audio_play", self.close_audio_play)#关闭音频
 
@@ -181,6 +184,18 @@ class intervManager(Abstract):
 
         EventMesh.subscribe("recv_wechat_audio", self.recv_wechat_audio)#
 
+
+        EventMesh.subscribe("sos_short_press", self.sos_short_press)#sos短按事件
+        
+
+    def sos_short_press(self,args,msg):
+        EventMesh.publish("interup_call_event")#如果在电话中强制挂断电话
+        EventMesh.publish("close_audio_play")#强制关闭音频文件播放
+        EventMesh.publish("STOP_FIND_WATCH")#停止查找设备
+        EventMesh.publish("STOP_ALARM_RING")#停止闹钟响铃
+        EventMesh.publish("play_cur_time_event")#播报当前时间
+        #播报当前时间
+
     def recv_wechat_audio(self,event,str_data):#接收微聊语音播放
         if self.press_btn == 0:
             str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_WECHAT_RECV"))
@@ -191,12 +206,12 @@ class intervManager(Abstract):
     def audio_event_queue_thread(self):
         while True:
             data = self.audio_event_queue.get()
-            #print("interInfo_queue_thread:data = {}".format(data))
+            #print("audio_event_queue:data = {}".format(data))
             if data != None:
                 try:
                     data["func"](data["data"])
                 except Exception as e:
-                    print("interInfo_queue_thread:ERROR:{}".format(e))
+                    print("audio_event_queue:ERROR:{}".format(e))
                     usys.print_exception(e)
     def publish_message_event_audio(self,event,msg):
         self.audio_event_queue.put(msg)
@@ -208,13 +223,14 @@ class intervManager(Abstract):
     def play_audio_file_do(self,data):#msg 拼接的路径文件
         open_power = EventMesh.publish("get_power_on_state")#获取开机标识
         power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+        print("play_audio_file",data[0],data[1],open_power,power_off)#路径 str_data[1] 是否需要被打断
         if open_power != None:
             if open_power == 0:
                 return
         if power_off != None:
             if power_off == 1:
                 return
-        print("play_audio_file",data[0],data[1])#路径 str_data[1] 是否需要被打断
+        print("play_audio_file end",data[0],data[1])#路径 str_data[1] 是否需要被打断
         self.aud.montage_play('U:/static/audio.bin',1,data[1],data[0])
 
     
@@ -250,12 +266,12 @@ class intervManager(Abstract):
         EventMesh.publish("publish_message_event_interInfo",{"func":self.Alarm_timer_cb,"data":0})  
 
     def powe_resatrt_down_fun(self, *args):
-        EventMesh.publish("close_all_led")#关闭所有的灯
+        EventMesh.publish("close_led_pin")
         self.aud.stopPlayStream()
         Power.powerRestart()
 
     def power_down_fun(self, *args):
-        EventMesh.publish("close_all_led")#关闭所有的灯
+        EventMesh.publish("close_led_pin")
         self.aud.stopPlayStream()
         Power.powerDown()
 
@@ -275,7 +291,7 @@ class intervManager(Abstract):
 
 
     def close_timer_all(self, event, msg): 
-        self.timer.stop()
+        print("close_timer_all!!!!!!!!!!!!!!!!!!!")
         open_power = EventMesh.publish("get_power_on_state")#获取开机标识
         power_off = EventMesh.publish("get_power_off_state")#获取开机标识
         if open_power != None:
@@ -286,6 +302,8 @@ class intervManager(Abstract):
                 return
         self.aud.stopPlayStream()
         
+        self.timer.stop()
+        
        
 
     def answer_call_event(self, event, msg): #
@@ -355,7 +373,33 @@ class intervManager(Abstract):
                 self.timer1.start(2000, 0, self.time_out_phone)
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SOS_ALERT"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件
+
+    def sos_out_call_center_cb(self, event, msg):#sos电话呼叫中
+        open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+        if open_power != None:
+            if open_power == 0:
+                return
+        power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+        if power_off != None:
+            if power_off == 1:
+                return
+        print("sos_out_call_center_cb",msg)
+        if self.call_state == 0:
+            EventMesh.publish("close_timer_all")#
+            if msg == None:
+                str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_NO_SET_SOS_DIAL"))
+                EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件
+                # EventMesh.publish("play_audio_file",str_data)#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
+            else:
+                self.timer1_sos.start(30000, 0, self.sos_time_out_phone)
+                str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SOS_ALERT"))
+                EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件
                 
+    def sos_time_out_phone(self, msg):#30s超时未打通或者信号不好则重新拨打
+        sos_flag = EventMesh.publish("get_sos_flag")
+        if sos_flag == 1:
+            if self.call_state == 0:
+                EventMesh.publish("set_sos_info_call") 
                 
     def time_out_phone(self, msg):#电话拨出去
         voiceCall.callStart(self.phone_num)
@@ -632,37 +676,38 @@ class intervManager(Abstract):
         
         if msg == 1:
             self.usbState = msg
-            
+            str_buf = [1,1,10,led_mode.LONG_LIGHT_RED,4,2,led_mode.CHARGE_IN_MODE]
+            EventMesh.publish("set_led_time_arg",str_buf)#
             if flag == 3 or flag == 1 or flag == 0:#电话通话中 或者呼叫中挂断中断
                 EventMesh.publish("close_timer_all")#
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_CHARGE_IN"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-
-            EventMesh.publish("set_led_time_arg",None)#
             print("charge R_CHARGE_IN")
             
             
         elif msg == 2:
             self.usbState = msg
+            EventMesh.publish("stop_led_timer")#设置参数
+            # EventMesh.publish("set_led_time_arg",[0,1000,1,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.CHARGE_OUT_MODE])#測量成功
+            EventMesh.publish("set_led_time_arg",[1,1,0,led_mode.FLASH_LIGHT_GREEN,4,4,led_mode.CHARGE_OUT_MODE])#測量成功
             print("charge R_CHARGE_OUT")
             if flag == 3 or flag == 1 or flag == 0:#电话通话中 或者呼叫中挂断中断
                 EventMesh.publish("close_timer_all")#
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_CHARGE_OUT"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-            EventMesh.publish("stop_led_timer")#设置参数
-            # EventMesh.publish("set_led_time_arg",[0,1000,1,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.CHARGE_OUT_MODE])#測量成功
-            EventMesh.publish("set_led_time_arg",[1,1,0,led_mode.FLASH_LIGHT_GREEN,4,4,led_mode.CHARGE_OUT_MODE])#測量成功
+            
 
 
         elif msg == 3:
             self.usbState = msg
             print("charge full")
-            
+            str_buf = [1,1,10,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.CHARGE_FULL_MODE]
+            EventMesh.publish("set_led_time_arg",str_buf)#
             if flag == 3 or flag == 1 or flag == 0:#电话通话中 或者呼叫中挂断中断
                 EventMesh.publish("close_timer_all")#
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_CHARGE_FULL"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-            EventMesh.publish("set_led_time_arg",None)#
+            
 
 
     def get_usb(self, event, msg):
@@ -671,13 +716,11 @@ class intervManager(Abstract):
     def open_power_on(self, event, msg): #msg 1 开机 2 关机 3 重启  4恢复出厂设置
         EventMesh.publish("close_timer_all")#
         if msg == 1:
-            self.power_on_flag = 1
-            str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
-            EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-            EventMesh.publish("set_led_time_arg",[1,2,4*8,led_mode.FLASH_LIGHT_GREEN,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功
-            # EventMesh.publish("set_led_time_arg",[1000,200,10,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
-            self.power_on_flag = 0
-            self.pwk_timer.start(5000,0,self.power_on_cb)
+           
+            # str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
+            # EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
+            self.pwk_timer1.start(3000,0,self.power_on_audio_cb)
+            
         elif msg == 2:
             flag = EventMesh.publish("get_call_state") 
             if flag != 0:#电话呼叫中
@@ -687,21 +730,18 @@ class intervManager(Abstract):
             if step != 0:
                 EventMesh.publish("set_storage_config",["old_step",step])
             date_tmp = utime.localtime()
-            EventMesh.publish("set_storage_config",["old_time",date_tmp])#关机保存一个是时间
-            str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
+            time_tmp = utime.mktime(date_tmp)
+            EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
             
-            EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-            EventMesh.publish("set_led_time_arg",[1,2,4*8,led_mode.FLASH_LIGHT_RED,4,2,led_mode.OTHER_MEASURE_MODE])#
-            self.power_off = 1
-            # EventMesh.publish("set_led_time_arg",[1000,200,10,led_mode.FLASH_LIGHT_RED,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#
-            self.timer.start(6000,0,self.publish_power_down_event_cb)
+            self.pwk_timer1.start(3000,0,self.power_off_audio_cb)
         elif msg == 3:
             flag = EventMesh.publish("get_call_state") 
             if flag != 0:#电话呼叫中
                 voiceCall.callEnd()
-            str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
-            EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-            # EventMesh.publish("stop_led_timer")#设置参数
+            self.aud.play(1,0,'U:/static/R_POWER_OFF_1.mp3')
+            # str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
+            # EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
+            EventMesh.publish("stop_led_timer")#设置参数
             self.power_off = 1
             self.timer.start(8000,0,self.publish_resatrt_down_event_cb)
             #EventMesh.publish("set_led_time_arg",[3000,4000,1,led_mode.LONG_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE])#
@@ -728,17 +768,44 @@ class intervManager(Abstract):
 
     def power_on_cb(self, msg): #msg 开机标识
         self.power_on_flag = 1
+    def clear_power_on_cb(self, msg): #msg 开机标识
+        self.power_on_flag = 0
     
+    def power_on_audio_cb(self, msg):
+        self.power_on_flag = 1
+        print("power_on_audio_cb")
+        self.aud.play(1,0,'U:/static/R_POWER_OFF_1.mp3')
+        # str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
+        # EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
+        EventMesh.publish("set_led_time_arg",[1,2,4*8,led_mode.FLASH_LIGHT_GREEN,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功
+        # EventMesh.publish("set_led_time_arg",[1000,200,10,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
+        self.pwk_timer1.start(2000,0,self.clear_power_on_cb)
+        self.pwk_timer2.start(6000,0,self.power_on_cb)
+
     def get_power_on_state(self, event, msg):
         return self.power_on_flag
     
+    def power_off_audio_cb(self, msg):
+        print("power_off_audio_cb")
+        self.aud.play(1,0,'U:/static/R_POWER_OFF_1.mp3')
+        # str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_POWER_OFF_1"))
+        # EventMesh.publish("play_audio_file",[str_data,0])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
+        EventMesh.publish("set_led_time_arg",[1,2,4*8,led_mode.FLASH_LIGHT_RED,4,2,led_mode.POWER_OFF_MODE])#
+        
+        self.pwk_timer1.start(2000,0,self.set_power_off_cb)
+        self.pwk_timer2.start(7000,0,self.publish_power_down_event_cb)
+
+    def set_power_off_cb(self, msg):
+        self.power_off = 1
+
     def get_power_off_state(self, event, msg):
         return self.power_off
 
-    def close_hr_sop2(self, event, msg): #msg 关闭心率血氧测试
+    def close_hr_sop2(self, event, msg): #msg 关闭心率血氧体温测试
         get_hr_state = EventMesh.publish("get_hr_state")
         get_spo2_state = EventMesh.publish("get_spo2_state")
-        if get_hr_state != None and get_spo2_state != None:
+        get_temp_state = EventMesh.publish("get_temp_state")
+        if get_hr_state != None or get_spo2_state != None or get_temp_state != None:
             if get_hr_state != 0:
                 EventMesh.publish("set_hr_state",0)#2代表后台进入测试,定时测心率 1ui界面测试洗心率 
                 print("sstop hr")
@@ -747,6 +814,10 @@ class intervManager(Abstract):
                 print("stop spo2")
                 EventMesh.publish("set_spo2_state",0)#2代表后台进入测试
                 EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
+            if get_temp_state != 0:
+                print("stop temp")
+                EventMesh.publish("set_temp_state",0)
+                EventMesh.publish(constants.EVENT.STOP_TEMP)#手动体温测试
 
     def set_manual_measure_mode(self, event, msg): #手动测试 1心率 2 血氧 3 体温
         get_hr_state = EventMesh.publish("get_hr_state")
@@ -968,6 +1039,7 @@ class intervManager(Abstract):
         flag = EventMesh.publish("get_call_state") 
         if flag != 2:#电话通话中 或者呼叫中挂断中断
             EventMesh.publish("close_timer_all")#
+            # EventMesh.publish("stop_led_timer")#设置参数
             mode = 0
             signal = EventMesh.publish("screen_get_sig")
             if signal != None:
@@ -979,23 +1051,21 @@ class intervManager(Abstract):
                 else:#未插卡
                     mode = 3
             if mode == 1:#白色灯
-                EventMesh.publish("set_led_time_arg",[1,1,6,led_mode.FLASH_LIGHT_WHITE,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功
+                EventMesh.publish("set_led_time_arg",[1,2,10,led_mode.FLASH_LIGHT_WHITE,10,5,led_mode.OTHER_MEASURE_MODE])#測量成功
                 # EventMesh.publish("set_led_time_arg",[1000,400,1,led_mode.FLASH_LIGHT_WHITE,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SIM_FAILE"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
                 pass
             elif mode == 2:#蓝灯色灯
-                EventMesh.publish("set_led_time_arg",[1,1,6,led_mode.FLASH_LIGHT_GREEN,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功
+                EventMesh.publish("set_led_time_arg",[1,2,10,led_mode.FLASH_LIGHT_GREEN,10,5,led_mode.OTHER_MEASURE_MODE])#測量成功
                 # EventMesh.publish("set_led_time_arg",[1000,400,1,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SIM_CONNECT"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
                 pass
             elif mode == 3:#红灯闪烁
+                EventMesh.publish("set_led_time_arg",[1,2,10,led_mode.FLASH_LIGHT_RED,10,5,led_mode.OTHER_MEASURE_MODE])#測量成功
                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_NO_SIM"))
                 EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-                EventMesh.publish("set_led_time_arg",[1,1,6,led_mode.FLASH_LIGHT_RED,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功
-                # EventMesh.publish("set_led_time_arg",[1000,400,1,led_mode.FLASH_LIGHT_RED,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
-                pass
             pass
         
     def dial_sos_phone(self, event, msg): #拨打紧急求助电话
@@ -1010,13 +1080,13 @@ class intervManager(Abstract):
                         if sos_number != None:
                             if len(sos_number) != 0:
                                     EventMesh.publish("close_timer_all")#
-                                    EventMesh.publish("save_phonename",sos_number[0])
-                                    EventMesh.publish("save_phonenum",sos_number[0])
-                                    EventMesh.publish("set_sos_num",0)
+                                    # EventMesh.publish("save_phonename",sos_number[0])
+                                    # EventMesh.publish("save_phonenum",sos_number[0])
+                                    # EventMesh.publish("set_sos_num",0)
                                     EventMesh.publish("set_sos_flag",1)
-                                    str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SOS_ALERT"))
-                                    EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件
-                                    voiceCall.callStart(sos_number[0])
+                                    # str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_SOS_ALERT"))
+                                    # EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件
+                                    # voiceCall.callStart(sos_number[0])
                             else:#未设置sos紧急求助号码
                                 EventMesh.publish("close_timer_all")#
                                 str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_NO_SET_SOS_DIAL"))
@@ -1030,7 +1100,11 @@ class intervManager(Abstract):
                     EventMesh.publish("close_timer_all")#
                     str_data = 'mp3files={}.mp3'.format(audio_buf.index("R_NO_SIM"))
                     EventMesh.publish("play_audio_file",[str_data,1])#获取播放音频文件('U:/static/audio.bin',1,1,str_data)
-           
+    
+
+
+
+
     def send_find_watch(self, event, msg): #发送查找设备指令
         open_power = EventMesh.publish("get_power_on_state")#获取开机标识
         if open_power != None:
@@ -1097,6 +1171,7 @@ class intervManager(Abstract):
         if self.alarm_state == 1:
             self.alarm_state = 0
             self.alarm_timer_count = 0
+            # EventMesh.publish("stop_led_timer")#设置参数
             self.aud.stopPlayStream()  #停止播放
             self.timer.stop()
 
@@ -1510,7 +1585,7 @@ class intervManager(Abstract):
         time_tmp = utime.mktime(date_tmp)
         if state != None:
             if state == 1:
-                EventMesh.publish("set_led_time_arg",[1,1,4,led_mode.FLASH_LIGHT_GREEN,2,1,led_mode.OTHER_MEASURE_MODE])#測量成功
+                EventMesh.publish("set_led_time_arg",[1,2,8,led_mode.FLASH_LIGHT_GREEN,8,4,led_mode.OTHER_MEASURE_MODE])#測量成功
                 # EventMesh.publish("set_led_time_arg",[1000,400,1,led_mode.FLASH_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
                 if self.updateTime == 0:
                     self.updateTime = time_tmp
@@ -1585,6 +1660,9 @@ class BtnDevice(Abstract):
         self.btnInfo_queue = Queue()
         _thread.start_new_thread(self.btnInfo_queue_thread, ())
         EventMesh.subscribe("publish_message_event_btnInfo",self.publish_message_event_btnInfo)
+
+        EventMesh.subscribe("close_wechat_btn_timer", self.close_wechat_btn_timer)#来电强制关闭微聊语音
+
     def btnInfo_queue_thread(self):
         while True:
             data = self.btnInfo_queue.get()
@@ -1613,8 +1691,7 @@ class BtnDevice(Abstract):
     def post_processor_after_instantiation(self):
         # self.keypad.init()
         # self.keypad.set_callback(self.key_callback)
-        EventMesh.subscribe("sos_short_press", self.sos_short_press)#sos短按事件
-        EventMesh.subscribe("close_wechat_btn_timer", self.close_wechat_btn_timer)#来电强制关闭微聊语音
+       
         self.pk.powerKeyEventRegister(self.powerKey_callback)
         
         self.extint = ExtInt(ExtInt.GPIO26, ExtInt.IRQ_RISING_FALLING, ExtInt.PULL_DISABLE, self.pwk_extint_cb)
@@ -1628,16 +1705,6 @@ class BtnDevice(Abstract):
 
         key19 = Pin(Pin.GPIO19, Pin.OUT, Pin.PULL_PU, 0)
 
-    def sos_short_press(self,args,msg):
-        EventMesh.publish("interup_call_event")#如果在电话中强制挂断电话
-        EventMesh.publish("close_audio_play")#强制关闭音频文件播放
-        EventMesh.publish("stop_led_timer")#设置参数关闭定时器 同时也关闭所有的灯再开相对应的灯
-        EventMesh.publish("STOP_FIND_WATCH")#停止查找设备
-        EventMesh.publish("STOP_ALARM_RING")#停止闹钟响铃
-        EventMesh.publish("play_cur_time_event")#播报当前时间
-        #播报当前时间
-
-
     def pwk_extint_cb(self,args):#侧边按键
         self.GPIO26_status = self.extint.read_level()
         print('### key20_extint_cb  {} self.GPIO26_status :{}'.format(args,self.GPIO26_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
@@ -1695,7 +1762,8 @@ class BtnDevice(Abstract):
         EventMesh.publish("publish_message_event_btnInfo",{"func":self.pwKey_timeout_cb,"data":0})  
 
     def pwKey_timeout_cb(self, data):#侧边按键
-        if self.pwKey_press_count >= 1:
+        if self.pwKey_press_count == 1:
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("dialing_out_event")#电话呼叫中voiceCall.callEnd()
             self.pwKey_press_count = 0
             # EventMesh.publish(constants.EVENT.START_LOCATION) #开始定位
@@ -1708,7 +1776,7 @@ class BtnDevice(Abstract):
             EventMesh.publish("close_hr_sop2")#
             flag = EventMesh.publish("get_call_state") 
             if flag != 1:
-                EventMesh.publish("set_sim_mode")#播報imei号
+                EventMesh.publish("set_sim_mode")#
 
     def sosKey_extint_cb(self,args):
         power_off = EventMesh.publish("get_power_off_state")#获取关机标识
@@ -1763,35 +1831,40 @@ class BtnDevice(Abstract):
         EventMesh.publish("publish_message_event_btnInfo",{"func":self.sosKey_timeout_cb,"data":0})  
     def sosKey_timeout_cb(self, data):#
         print("sosKey_press_count!!!!!!!!!!!!!! ",self.sosKey_press_count)
-        if self.sosKey_press_count >= 10:#
+        if self.sosKey_press_count == 10:#
             self.sosKey_press_count = 0
             # EventMesh.publish("reset_factor_setiing")#
             pass
-        elif self.sosKey_press_count >= 6:#
+        elif self.sosKey_press_count == 6:#
             self.sosKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("set_manual_measure_mode",2)#测量血氧
             # EventMesh.publish("play_imei_event")#播報imei号
             pass
-        elif self.sosKey_press_count >= 5:
-            self.sosKey_press_count = 0
-            EventMesh.publish("set_manual_measure_mode",3)#测量体温
-            pass
-        elif self.sosKey_press_count >= 4:#拨打app快捷号码
+        # elif self.sosKey_press_count >= 5:#功能暂时屏蔽
+        #     self.sosKey_press_count = 0
+        #     # EventMesh.publish("stop_led_timer")#设置参数
+        #     # EventMesh.publish("set_manual_measure_mode",3)#测量体温
+        #     pass
+        elif self.sosKey_press_count == 4:#拨打app快捷号码
             self.sosKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("play_center_phone")#拨打快捷号码
             # EventMesh.publish("call_phonebook_three_call")
             pass
-        elif self.sosKey_press_count >= 3:#测试心率
+        elif self.sosKey_press_count == 3:#测试心率
             self.sosKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("set_manual_measure_mode",1)#
             pass
-        elif self.sosKey_press_count >= 2:#播报当前步数
+        elif self.sosKey_press_count == 2:#播报当前步数
             self.sosKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("play_cur_step_event")#
             pass
-        elif self.sosKey_press_count >= 1:#挂断来电 短语音播报
+        elif self.sosKey_press_count == 1:#挂断来电 短语音播报
             self.sosKey_press_count = 0
-            
+            EventMesh.publish("stop_led_timer")#设置参数
             # EventMesh.publish("call_test_event")
             EventMesh.publish("sos_short_press")#sos短按事件
             pass
@@ -1921,29 +1994,35 @@ class BtnDevice(Abstract):
 
     def wechatKey_timeout_cb(self,data):#微聊键
         print("wechatKey_timeout_cb!!!!!!!!!!!!!! ",self.wechatKey_press_count)
-        if self.wechatKey_press_count >= 10:#短按十次解绑app
+        if self.wechatKey_press_count == 10:#短按十次解绑app
             self.wechatKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("open_power_on", 4)#恢复出厂
             pass
-        elif self.wechatKey_press_count >= 6:#短按六次播报imei号
+        elif self.wechatKey_press_count == 6:#短按六次播报imei号
             self.wechatKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("play_imei_event")#播報imei号
             pass
-        elif self.wechatKey_press_count >= 4:#拨打通讯录号码三
+        elif self.wechatKey_press_count == 4:#拨打通讯录号码三
             self.wechatKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("call_phonebook_three_call")
             pass
-        elif self.wechatKey_press_count >= 3:#拨打通讯录号码二
+        elif self.wechatKey_press_count == 3:#拨打通讯录号码二
             self.wechatKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             EventMesh.publish("call_phonebook_two_call")
             pass
-        elif self.wechatKey_press_count >= 2:#拨打通讯录号码一
+        elif self.wechatKey_press_count == 2:#拨打通讯录号码一
+            EventMesh.publish("stop_led_timer")#设置参数
             self.wechatKey_press_count = 0
             EventMesh.publish("call_phonebook_one_call")
            # EventMesh.publish("interup_call_event")#
             pass
-        elif self.wechatKey_press_count >= 1:#播放最后收到的语音
+        elif self.wechatKey_press_count == 1:#播放最后收到的语音
             self.wechatKey_press_count = 0
+            EventMesh.publish("stop_led_timer")#设置参数
             call_state = EventMesh.publish("get_call_state") 
             if call_state == 2:#电话拨进需要接听
                 EventMesh.publish("answer_call_event")#接听电话
index 38e9256..cdc0a4a 100644 (file)
@@ -94,6 +94,7 @@ class led_mode:
     CHARGE_IN_MODE = 203 #充电模式
     CHARGE_OUT_MODE = 204 #充电已移出
     CHARGE_FULL_MODE = 205 #充电已满
+    POWER_OFF_MODE = 206 #关机模式
 
 
 
@@ -183,9 +184,11 @@ class ledEventManager(Abstract):#灯事件
                 EventMesh.publish("set_led_time_arg",[1,2,10*70*2,led_mode.FLASH_LIGHT_RED_GREEN,10,5,led_mode.HEALTH_LED_MODE])#測量成功
                 # EventMesh.publish("set_led_time_arg",[1000,200,300,led_mode.FLASH_LIGHT_RED_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.HEALTH_LED_MODE])#開始測量
             elif msg == 2:
-                EventMesh.publish("set_led_time_arg",[1,1,30,led_mode.FLASH_LIGHT_GREEN,31,10*3,led_mode.OTHER_MEASURE_MODE])#測量成功
+                EventMesh.publish("set_led_time_arg",[1,2,60,led_mode.FLASH_LIGHT_GREEN,60,30,led_mode.OTHER_MEASURE_MODE])#測量成功
                 # EventMesh.publish("set_led_time_arg",[3000,1000,1,led_mode.LONG_LIGHT_GREEN,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#測量成功
-            elif msg == 3:
+            elif msg == 3:#测量失败
+                EventMesh.publish("stop_led_timer")
+                # EventMesh.publish("set_led_time_arg",[1,1,1,led_mode.FLASH_LIGHT_RED,31,10*3,led_mode.OTHER_MEASURE_MODE])#測量成功
                 pass
                 # EventMesh.publish("set_led_time_arg",[1,1,30,led_mode.FLASH_LIGHT_RED,31,10*3,led_mode.OTHER_MEASURE_MODE])#测量失败
                 #加音频文件
@@ -217,6 +220,7 @@ class ledEventManager(Abstract):#灯事件
                             if self.timer_state == 0:
                                 self.timer_state = 1
                                 self.timer.stop()
+                                # self.timer.start(LED_TIMER_OUT,1,self.led_fun_cb)
                                 self.timer.start(LED_TIMER_OUT,1,self.publish_led_event_cb)
                 
         
@@ -234,76 +238,73 @@ class ledEventManager(Abstract):#灯事件
             if power_off == 1:
                 return
         usb_in = EventMesh.publish("get_usb")#
-        # print("usb_in",usb_in)
-        if usb_in != None:
-            if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断
-                if self.timer_state == 1:
-                    self.timer_state = 0
-                    self.timer.stop()
-                if usb_in == 1:
-                    if self.working_led_mode != led_mode.CHARGE_IN_MODE:
-                        str_buf = [1,1,10,led_mode.LONG_LIGHT_RED,4,2,led_mode.CHARGE_IN_MODE]
-                        self.open_timer(str_buf)
-                    self.working_led_mode = led_mode.CHARGE_IN_MODE
-
-                elif usb_in == 3:
-                    if self.working_led_mode != led_mode.CHARGE_FULL_MODE:
-                        str_buf = [1,1,10,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.CHARGE_FULL_MODE]
-                        self.open_timer(str_buf)
-                    self.working_led_mode = led_mode.CHARGE_FULL_MODE
-                
-                return
-            else:
-                if msg[5] != led_mode.HEALTH_LED_MODE:
-                    self.working_led_mode = led_mode.OTHER_MEASURE_MODE
-
-                get_hr_state = EventMesh.publish("get_hr_state")
-                get_spo2_state = EventMesh.publish("get_spo2_state")
-                
-                wechat_state = EventMesh.publish("get_wechat_state")
-                temp_state = EventMesh.publish("get_spo2_state")
-                print("get_hr_state",get_hr_state,get_spo2_state,temp_state,wechat_state,self.working_led_mode)
-                if wechat_state != None: #获取微聊状态
-                    if wechat_state == 1:
-                        if self.working_led_mode != led_mode.WECHAT_LED_MODE:#如果不在亮微聊模式需要亮微聊模式
+        if msg != None:
+            if msg[6] != led_mode.POWER_OFF_MODE:#插入usb关机以防不亮红绿灯
+                # print("usb_in",usb_in)
+                if usb_in != None:
+                    if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断
+                        if self.timer_state == 1:
                             self.timer_state = 0
                             self.timer.stop()
-                            str_buf = [1,1,1,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.WECHAT_LED_MODE]
-                            self.open_timer(str_buf)
-                            self.working_led_mode = led_mode.WECHAT_LED_MODE
-                            return
-                        else:
-                           return
-                            
-                    else:
-                        self.wechat_btn = 0
-                        if get_hr_state != 0 or get_spo2_state != 0 or temp_state != 0 :#心率血氧优先级高
-                            if self.working_led_mode != led_mode.HEALTH_LED_MODE:#如果不在亮微聊模式需要亮微聊模式
-                                print("set_hr_blood_led!!!!!!!!!!")
-                                str_buf = [1,2,10*70*2,led_mode.FLASH_LIGHT_RED_GREEN,10,5,led_mode.HEALTH_LED_MODE]#測量成功
-                                self.timer_state = 0
-                                self.timer.stop()
+                        if usb_in == 1:
+                            if self.working_led_mode != led_mode.CHARGE_IN_MODE:
+                                str_buf = [1,1,10,led_mode.LONG_LIGHT_RED,4,2,led_mode.CHARGE_IN_MODE]
                                 self.open_timer(str_buf)
-                                self.working_led_mode = led_mode.HEALTH_LED_MODE
-                                return
-                            else:
-                                print("set_hr_blood_led stop!!!!!!!!!!")
-                                return
-                        if  get_hr_state == 0 and get_spo2_state == 0 and temp_state == 0:
+                            self.working_led_mode = led_mode.CHARGE_IN_MODE
+
+                        elif usb_in == 3:
+                            if self.working_led_mode != led_mode.CHARGE_FULL_MODE:
+                                str_buf = [1,1,10,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.CHARGE_FULL_MODE]
+                                self.open_timer(str_buf)
+                            self.working_led_mode = led_mode.CHARGE_FULL_MODE
+                        
+                        return
+                    else:
+                        if msg[5] != led_mode.HEALTH_LED_MODE:
                             self.working_led_mode = led_mode.OTHER_MEASURE_MODE
-                
+
+                        get_hr_state = EventMesh.publish("get_hr_state")
+                        get_spo2_state = EventMesh.publish("get_spo2_state")
+                        
+                        wechat_state = EventMesh.publish("get_wechat_state")
+                        temp_state = EventMesh.publish("get_temp_state")
+                        print("get_hr_state",get_hr_state,get_spo2_state,temp_state,wechat_state,self.working_led_mode)
+                        if wechat_state != None: #获取微聊状态
+                            if wechat_state == 1:
+                                if self.working_led_mode != led_mode.WECHAT_LED_MODE:#如果不在亮微聊模式需要亮微聊模式
+                                    self.timer_state = 0
+                                    self.timer.stop()
+                                    str_buf = [1,1,1,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.WECHAT_LED_MODE]
+                                    self.open_timer(str_buf)
+                                    self.working_led_mode = led_mode.WECHAT_LED_MODE
+                                    return
+                                else:
+                                    return
+                                    
+                            else:
+                                self.wechat_btn = 0
+                                if get_hr_state != 0 or get_spo2_state != 0 or temp_state != 0 :#心率血氧优先级高
+                                    if self.working_led_mode != led_mode.HEALTH_LED_MODE:#如果不在亮微聊模式需要亮微聊模式
+                                        print("set_hr_blood_led!!!!!!!!!!")
+                                        str_buf = [1,2,10*70*2,led_mode.FLASH_LIGHT_RED_GREEN,10,5,led_mode.HEALTH_LED_MODE]#測量成功
+                                        self.timer_state = 0
+                                        self.timer.stop()
+                                        self.open_timer(str_buf)
+                                        self.working_led_mode = led_mode.HEALTH_LED_MODE
+                                        return
+                                    else:
+                                        print("set_hr_blood_led stop!!!!!!!!!!")
+                                        return
+                                if  get_hr_state == 0 and get_spo2_state == 0 and temp_state == 0:
+                                    self.working_led_mode = led_mode.OTHER_MEASURE_MODE
+                        
         self.open_timer(msg)
 
 
-    def stop_led_timer(self, event, msg):
-        open_power = EventMesh.publish("get_power_on_state")#获取开机标识
-        if open_power != None:
-            if open_power == 0:
-                return
-        EventMesh.publish("close_all_led")#关闭所有的灯
+   
     # EventMesh.publish("set_led_time_arg",[1,2,2*300,led_mode.FLASH_LIGHT_RED_GREEN,2,1,led_mode.HEALTH_LED_MODE])#測量成功
     def led_fun_cb(self, data):#
-        if self.led_enable ==0 and self.led_total_time == 0:
+        if self.led_enable == 0 or self.led_total_time == 0:
             return
         # print("self.long_count",self.long_count)
         if self.led_total_time != 0:
@@ -319,20 +320,20 @@ class ledEventManager(Abstract):#灯事件
                         else:
                             EventMesh.publish("stop_led_timer")#关闭所有的灯
                 elif self.led_mode == 2:
-                    self.long_count+=1
-                    if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                    # print("led red!!!!!!!")
+                    
+                    if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                         close_led_green()
                         close_led_white()
                         open_led_red()
-                        pass
                     else:
                         close_led_green()
                         close_led_white()
                         close_led_red()
-                        pass
-                    if self.long_count >= self.led_total_time:#大于总的时间 4
+                    if self.long_count >= self.led_total_time-1:#大于总的时间 4
                         EventMesh.publish("stop_led_timer")#设置参数
-                        pass
+                        return
+                    self.long_count+=1
             #绿灯闪烁
             elif self.long_light_mode == led_mode.FLASH_LIGHT_GREEN:#
                 if self.led_mode == 1:#长亮时间限制
@@ -348,8 +349,8 @@ class ledEventManager(Abstract):#灯事件
                         
 
                 elif self.led_mode == 2:
-                    self.long_count+=1
-                    if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                    
+                    if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                         close_led_red()
                         close_led_white()
                         open_led_green()
@@ -359,9 +360,11 @@ class ledEventManager(Abstract):#灯事件
                         close_led_white()
                         close_led_red()
                         pass
-                    if self.long_count >= self.led_total_time:#大于总的时间 4
+                    
+                    if self.long_count >= self.led_total_time-1:#大于总的时间 4
                         EventMesh.publish("stop_led_timer")#设置参数
-                        pass
+                        return
+                    self.long_count+=1
             #蓝灯闪烁 暂时是白色灯
             elif self.long_light_mode == led_mode.FLASH_LIGHT_WHITE:#
                 if self.led_mode == 1:#长亮时间限制
@@ -374,8 +377,7 @@ class ledEventManager(Abstract):#灯事件
                         else:
                             EventMesh.publish("stop_led_timer")#关闭所有的灯
                 elif self.led_mode == 2:
-                    self.long_count+=1
-                    if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                    if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                         close_led_red()
                         close_led_green()
                         open_led_white()
@@ -385,14 +387,15 @@ class ledEventManager(Abstract):#灯事件
                         close_led_white()
                         close_led_red()
                         pass
-                    if self.long_count >= self.led_total_time:#大于总的时间 4
+                    if self.long_count >= self.led_total_time-1:#大于总的时间 4
                         EventMesh.publish("stop_led_timer")#设置参数
-                        pass
+                        return
+                    self.long_count+=1
             #红绿灯闪烁
             elif self.long_light_mode == led_mode.FLASH_LIGHT_RED_GREEN:#
-                self.long_count+=1
                 
-                if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                
+                if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                     close_led_white()#白色灯
                     close_led_green()
                     open_led_red()
@@ -402,13 +405,13 @@ class ledEventManager(Abstract):#灯事件
                     close_led_red()
                     open_led_green()
                     pass
-                if self.long_count >= self.led_total_time:#大于总的时间 4
+                if self.long_count >= self.led_total_time-1:#大于总的时间 4
                     EventMesh.publish("stop_led_timer")#设置参数
-                    pass
+                    return
+                self.long_count+=1
             #红蓝灯闪烁 蓝变成白色灯
             elif self.long_light_mode == led_mode.FLASH_LIGHT_RED_WHITE:#
-                self.long_count+=1
-                if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                     close_led_white()#白色灯
                     close_led_green()
                     open_led_red()
@@ -418,14 +421,15 @@ class ledEventManager(Abstract):#灯事件
                     close_led_red()
                     open_led_white()
                     pass
-                if self.long_count >= self.led_total_time:#大于总的时间 4
+                if self.long_count >= self.led_total_time-1:#大于总的时间 4
                     EventMesh.publish("stop_led_timer")#设置参数
-                    pass
+                    return
+                self.long_count+=1
             #蓝绿灯闪烁
             elif self.long_light_mode == led_mode.FLASH_LIGHT_GREEN_WHITE:#
 
-                self.long_count+=1
-                if self.long_count % (self.led_open_time) <  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
+                
+                if self.long_count % (self.led_open_time) <=  self.led_close_time: # 4*cnt cnt 多少次 4 开启时间保护关闭时间 2 关闭时间 100ms 4-2关闭时间为200ms 开启时间也为200ms 
                     close_led_white()#白色灯
                     close_led_red()
                     open_led_green()
@@ -435,54 +439,98 @@ class ledEventManager(Abstract):#灯事件
                     close_led_red()
                     open_led_white()
                     pass
-                if self.long_count >= self.led_total_time:#大于总的时间 4
+                if self.long_count >= self.led_total_time-1:#大于总的时间 4
                     EventMesh.publish("stop_led_timer")#设置参数
-                    pass
+                    return
+                self.long_count+=1
             #红灯长亮
             elif self.long_light_mode == led_mode.LONG_LIGHT_RED:#
                 close_led_white()#白色灯
                 close_led_green()
                 open_led_red()
+                self.timer.stop()
+                self.timer_state = 0
+                self.led_total_time = 0
+                self.led_enable = 0
+                self.led_mode = 0
+                self.long_light_mode = 0
+                self.led_open_time = 0
+                self.led_close_time = 0
+                self.working_led_mode = 0
+                self.long_count = 0
+
             #绿灯长亮
             elif self.long_light_mode == led_mode.LONG_LIGHT_GREEN:#
                 close_led_white()#白色灯
                 close_led_red()
                 open_led_green()
+                self.timer.stop()
+                self.timer_state = 0
+                self.led_total_time = 0
+                self.led_enable = 0
+                self.led_mode = 0
+                self.long_light_mode = 0
+                self.led_open_time = 0
+                self.led_close_time = 0
+                self.working_led_mode = 0
+                self.long_count = 0
             #蓝灯长亮
             elif self.long_light_mode == led_mode.LONG_LIGHT_WHITE:#
                 close_led_green()#白色灯
                 close_led_red()
                 open_led_white()
+                self.timer.stop()
+                self.timer_state = 0
+                self.led_total_time = 0
+                self.led_enable = 0
+                self.led_mode = 0
+                self.long_light_mode = 0
+                self.led_open_time = 0
+                self.led_close_time = 0
+                self.working_led_mode = 0
+                self.long_count = 0
     
     def close_led_pin(self, event, msg):
+        print("close_led_pin!!!")
+        if self.timer_state == 1:
+            self.timer_state = 0
+            self.timer.stop()
         close_led_red()
         close_led_green()
         close_led_white()
 
+    def stop_led_timer(self, event, msg):
+        EventMesh.publish("close_all_led")#关闭所有的灯
+    
     def close_all_led(self, event, msg):
-       
-        print("close_all_led!!2222222!!")
-        EventMesh.publish("publish_message_event_ledInfo",{"func":self.close_all_led_do,"data":0})  
+        self.close_all_led_do(0)
+        # print("close_all_led!!2222222!!")
+        # EventMesh.publish("publish_message_event_ledInfo",{"func":self.close_all_led_do,"data":0})  
     def close_all_led_do(self,data):   
-        print("close_all_led!!!!")
-        usb_in = EventMesh.publish("get_usb")#
-        if usb_in != None:
-            if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断
-                if self.timer_state == 1:
-                    self.timer_state = 0
-                    self.timer.stop()
+        open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+        if open_power != None:
+            if open_power == 0:
                 return
-            else:
-                get_hr_state = EventMesh.publish("get_hr_state")
-                get_spo2_state = EventMesh.publish("get_spo2_state")
-                
-                wechat_state = EventMesh.publish("get_wechat_state")
-                temp_state = EventMesh.publish("get_spo2_state")
-                print("get_hr_state",get_hr_state,get_spo2_state,wechat_state,self.working_led_mode)
-                if wechat_state != None: #获取微聊状态
-                    if wechat_state == 1 or get_spo2_state != 0 or get_hr_state != 0 or temp_state != 0:
+        usb_in = EventMesh.publish("get_usb")#
+        open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+        if open_power_off != None:
+            if open_power_off != 1:
+                if usb_in != None:
+                    if usb_in == 1 or usb_in == 3:#正在充电或者充电已满都不要被打断
+                        if self.timer_state == 1:
+                            self.timer_state = 0
+                            self.timer.stop()
                         return
-        
+                    else:
+                        get_hr_state = EventMesh.publish("get_hr_state")
+                        get_spo2_state = EventMesh.publish("get_spo2_state")
+                        
+                        wechat_state = EventMesh.publish("get_wechat_state")
+                        temp_state = EventMesh.publish("get_temp_state")
+                        print("get_hr_state",get_hr_state,get_spo2_state,wechat_state,self.working_led_mode)
+                        if wechat_state != None: #获取微聊状态
+                            if wechat_state == 1 or get_spo2_state != 0 or get_hr_state != 0 or temp_state != 0:
+                                return
         if self.timer_state == 1:
             self.timer.stop()
         self.timer_state = 0
@@ -501,284 +549,4 @@ class ledEventManager(Abstract):#灯事件
 
     def led_test_fun_cb(self, data):
         return
-        if 0:
-            # print("self.freq_time :{} self.freq_num:{} self.flash_light:{}".format(self.freq_time,self.freq_num,self.flash_light))
-            if self.freq_time != 0 and self.freq_num != 0 and self.flash_light != 0:
-                if self.flash_light == led_mode.LONG_LIGHT_RED:
-                    if self.total_time != 0:
-                        if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮
-                            count = self.total_time//LED_TIMER_OUT#100ms单位
-                            self.long_count+=1
-                            if self.long_count == 1:
-                                close_led_green()
-                                close_led_white()
-                                open_led_red()#亮红灯 高电平
-                        
-                            elif self.long_count >= count :#不开长亮 只亮3 5 s这样就直接关闭
-                                close_led_red()#亮红灯 低电平
-                                EventMesh.publish("stop_led_timer")#设置参数
-
-                        elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式
-                            EventMesh.publish("stop_led_timer")#设置参数
-                            close_led_green()
-                            close_led_white()
-                            open_led_red()#亮红灯 高电平
-                            
-
-                        elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#关闭长亮模式
-                            close_led_red()#亮红灯 低电平
-                            EventMesh.publish("stop_led_timer")#设置参数
-                    else:
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.LONG_LIGHT_GREEN:
-                    if self.total_time != 0:
-                        if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮
-                            count = self.total_time//LED_TIMER_OUT#100ms单位
-                            self.long_count+=1
-                            if self.long_count == 1:
-                                close_led_red()
-                                close_led_white()
-                                open_led_green()#亮绿灯 高电平
-                        
-                            elif self.long_count >= count :#不开长亮 只亮3 5 s这样就直接关闭
-                                close_led_green()#亮绿灯 低电平
-                                EventMesh.publish("stop_led_timer")#设置参数
-
-                        elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式
-                            EventMesh.publish("stop_led_timer")#设置参数
-                            close_led_red()
-                            close_led_white()
-                            open_led_green()#亮绿灯 高电平
-                            
-
-                        elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#关闭长亮模式
-                            close_led_green()#亮绿灯 低电平
-                            EventMesh.publish("stop_led_timer")#设置参数
-                        
-                    else:
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.LONG_LIGHT_WHITE:
-                    if self.total_time != 0:
-                        if self.long_light_mode == led_mode.DEFAULT_LONG_LIGHT_MODE:#不是长亮模式 只需要长亮3 5 7 s这样就关闭长亮
-                            count = self.total_time//LED_TIMER_OUT#100ms单位
-                            self.long_count+=1
-                            if self.long_count == 1:
-                                close_led_green()
-                                close_led_red()
-                                open_led_white()#亮绿灯 高电平
-                            elif self.long_count >= count:
-                                close_led_white()#亮绿灯 低电平
-                                EventMesh.publish("stop_led_timer")#设置参数
-
-                        elif self.long_light_mode == led_mode.OPEN_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式
-                            EventMesh.publish("stop_led_timer")#设置参数
-                            close_led_green()
-                            close_led_red()
-                            open_led_white()#亮绿灯 高电平
-                        
-                        elif self.long_light_mode == led_mode.CLOSE_LONG_LIGHT_MODE:#开启长亮,需要手动发指令关闭长亮模式
-                            close_led_white()#亮绿灯 低电平
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.FLASH_LIGHT_RED:#红灯快速闪烁 灭灯时间和闪烁时间一致
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_RED count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_green()
-                            close_led_white()
-                            open_led_red()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_red()#亮白灯 低电平
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_red()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-                elif self.flash_light == led_mode.FLASH_LIGHT_GREEN:#绿灯快速闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_GREEN count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_red()
-                            close_led_white()
-                            open_led_green()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_green()#亮白灯 低电平
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_green()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.FLASH_LIGHT_WHITE:#白灯灯快速闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_WHITE count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_green()
-                            close_led_red()
-                            open_led_white()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_white()#亮白灯 低电平
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_white()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.INTERVAL_LIGHT_RED:#间隔闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_RED count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_green()
-                            close_led_white()
-                            open_led_red()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_red()#亮白灯 低电平                                  
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_red()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.INTERVAL_LIGHT_GREEN:#绿灯快速闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_GREEN count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_red()
-                            close_led_white()
-                            open_led_green()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_green()#亮白灯 低电平
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_green()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.INTERVAL_LIGHT_WHITE:#白灯灯快速闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        # print("self.freq : {} FLASH_LIGHT_WHITE count :{} self.long_count:{} self.total_count:{}".format(self.freq,count,self.long_count,self.total_count))
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_green()
-                            close_led_red()
-                            open_led_white()#亮白灯 高电平
-                        elif self.long_count == self.freq+1:
-                            self.total_count+=1
-                            close_led_white()#亮白灯 低电平
-                        if self.long_count >= self.freq*2:
-                            self.long_count = 0
-                        
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_white()#亮白灯 低电平
-                            self.total_count = 0
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-
-                elif self.flash_light == led_mode.FLASH_LIGHT_RED_GREEN:#红绿灯灯快速闪烁
-                    if self.total_time != 0:
-                        count = self.freq_num
-                        self.freq = self.freq_time // LED_TIMER_OUT#
-                        self.long_count+=1
-                        if self.long_count == 1:#间隔多久闪一次 100ms单位
-                            close_led_white()
-                            close_led_green()#亮白灯 低电平
-                            open_led_red()#紅
-                        elif self.long_count == 1*self.freq+1:#5 6 7 8 
-                            close_led_red()#亮白灯 低电平
-                            close_led_green()#亮白灯 低电平
-                            
-                        elif self.long_count == 2*self.freq+1:#5 6 7 8 
-                            open_led_green()#綠
-                        
-                        elif self.long_count == 3*self.freq+1:#5 6 7 8 
-                            close_led_red()#亮白灯 低电平
-                            close_led_green()#亮白灯 低电平
-                            self.total_count += 1
-
-                        if self.long_count >= 4*self.freq:
-                            self.long_count = 0
-                        # print("self.total_count:{}".format(self.total_count))
-                        if self.total_count >= count:
-                            close_led_green()#亮白灯 低电平
-                            close_led_red()#亮白灯 低电平
-                            self.long_count = 0
-                            EventMesh.publish("stop_led_timer")#设置参数
-                        
-                    else:#防止长亮时未设置长亮总时长 未设置不开灯
-                        EventMesh.publish("stop_led_timer")#设置参数
-                elif self.flash_light >= led_mode.LIGHT_NONE:#未知
-                    EventMesh.publish("stop_led_timer")#设置参数
-                
-            else:
-                EventMesh.publish("stop_led_timer")#关闭定时器和关闭所有的led灯
-
-
-
+   
index 3dc9c17..b68fc6b 100644 (file)
@@ -193,6 +193,7 @@ def main_init():
         if timeSecond != 0:
             next_alarm_time = utime.localtime(timeSecond)
             machine.RTC().datetime((next_alarm_time[0],next_alarm_time[1],next_alarm_time[2],next_alarm_time[6],next_alarm_time[3],next_alarm_time[4],next_alarm_time[5],0))
+    
     EventMesh.publish("open_power_on", 1)#
     
     # EventMesh.publish("load_screen", {"screen": "main_menu"})
index 48617e1..0e0e785 100644 (file)
@@ -519,6 +519,22 @@ class sosInfoCallManager(Abstract):
                         num_len = len(number)+2  
                     # print("number:{} number_len :{} num:{} num_len:{}".format(number,len(number),num,num_len))
                     if num > num_len :
+                        if len(number) == 1:
+                            number1 = str(number[0])
+                            sms.sendPduMsg(number1, '我需要你的帮助', 'UCS2')
+                        elif len(number) == 2:
+                            number1 = str(number[0])
+                            sms.sendPduMsg(number1, '我需要你的帮助', 'UCS2')
+
+                            number2 = str(number[1])
+                            sms.sendPduMsg(number2, '我需要你的帮助', 'UCS2')
+                        elif len(number) == 3:
+                            number1 = str(number[0])
+                            sms.sendPduMsg(number1, '我需要你的帮助', 'UCS2')
+                            number2 = str(number[1])
+                            sms.sendPduMsg(number2, '我需要你的帮助', 'UCS2')
+                            number3 = str(number[2])
+                            sms.sendPduMsg(number3, '我需要你的帮助', 'UCS2')
                         EventMesh.publish("set_sos_flag",0)
                         EventMesh.publish("set_sos_num",0)
                     else:
@@ -661,7 +677,7 @@ class DeviceInfoManager(Abstract):
         self.Hr_Need_Open = 0
         self.Spo2_Need_Open = 0
         self.bat_time = 0
-        self.sms_full_flag = 0
+        self.vbat_full_flag = 0
         self.clear_step = 0
         self.test = 0
         self.old_time = 0
@@ -906,11 +922,12 @@ class DeviceInfoManager(Abstract):
         hour = date_tmp[3]
         min = date_tmp[4]
         old_Timesec = EventMesh.publish("get_old_time_data")
+        # print("old_Timesec",old_Timesec)
         if old_Timesec != None:
             data = RTC().datetime()
             hour = data[4]
             min = data[5]
-            next_alarm_time = utime.localtime(old_Timesec)
+            next_alarm_time = utime.localtime(int(old_Timesec))
             # print("data[5]:{} {} next_alarm_time:{} old_Timesec:{}".format(data[1],data[2],next_alarm_time,old_Timesec))
             month = next_alarm_time[1]
             day = next_alarm_time[2]
@@ -959,7 +976,6 @@ class DeviceInfoManager(Abstract):
             if get_low_btn == 1:
                 self.bat_time+=10
                 # print("date_tmp:{} self.bat_time:{}".format(date_tmp,self.bat_time))
-
                 if self.bat_time > 5*60:
                     self.bat_time = 0
                     if battery[1] <= 20 and battery[1] > 0:
@@ -972,33 +988,21 @@ class DeviceInfoManager(Abstract):
         ble=EventMesh.publish(constants.EVENT.GET_CONNECT)
         # print("ble",ble)
         if ble == 0:#未联网提示关机
-            self.no_smi_count+=10
-            print("self.no_smi_count",self.no_smi_count)
-            if self.no_smi_count >= (15*60):
-                self.no_smi_count = 0
-                EventMesh.publish("open_power_on", 2)#  #未检测到sim卡15分钟后关机
-            
-            if self.no_smi_state < 6:
-                self.no_smi_state+=1
-                if self.no_smi_state >= 6:#开机一分钟后提示未检测到sim卡
-                    EventMesh.publish("sim_no_cb")#未插卡
+            if battery[0] != '1':
+                self.no_smi_count+=10
+                # print("self.no_smi_count",self.no_smi_count)
+                if self.no_smi_count >= (15*60):
+                    self.no_smi_count = 0
+                    EventMesh.publish("open_power_on", 2)#  #未检测到sim卡15分钟后关机
+                
+                if self.no_smi_state < 6:
+                    self.no_smi_state+=1
+                    if self.no_smi_state >= 6:#开机一分钟后提示未检测到sim卡
+                        EventMesh.publish("sim_no_cb")#未插卡
                   
         else:
             self.no_smi_count = 0
 
-        """检测短信已满,提示是否清掉"""
-        msg_nums = sms.getMsgNums() #获取短信条数
-        if(msg_nums != -1):
-            sms_data = sms.getSaveLoc()
-            sms_max = sms_data[0][2]
-            if msg_nums >= sms_max-1:
-                self.sms_full_flag+=10
-                if self.sms_full_flag >= 120:
-                    self.sms_full_flag=0
-                    # EventMesh.publish("load_screen", {"screen": "message_full"})
-            else:
-                self.sms_full_flag = 0
-
         """定时测量心率,血氧,体温"""
         WEAR = EventMesh.publish(constants.EVENT.GET_WEAR)#佩戴数据
         self.get_hr_state = EventMesh.publish("get_hr_state")
@@ -1597,15 +1601,23 @@ class DeviceInfoManager(Abstract):
         
         EventMesh.publish("play_unread_wechat_infor")#每10s检测是否有未读语音数据
 
-        usb_state = EventMesh.publish("get_usb_state")#
+        usb_state = EventMesh.publish("get_usb")#
+        
+
         if battery[0] == '1':
-            if battery[1] >= 100:#充电已满
-                if self.charge_full_count == 0:
-                    EventMesh.publish("set_usb",3)#
-                    print("charge R_CHARGE_full")
-                    self.charge_full_count = 1
+            # print("battery[1]",battery[1])
+            if self.vbat_full_flag <= 120:
+                self.vbat_full_flag+=10
+                if self.vbat_full_flag == 80:#开机检测一次如果是充电标识为1就不再提示
+                    if usb_state != 1:
+                        EventMesh.publish("set_usb",1)#
             else:
-                self.charge_full_count = 0
+                if battery[1] >= 100:
+                    if self.charge_full_count == 0:#充电已满
+                        EventMesh.publish("set_usb",3)#
+                        print("charge R_CHARGE_full")
+                        self.charge_full_count = 1
+                
         else:
             self.charge_full_count = 0
             low_power = battery[1]
@@ -2206,7 +2218,7 @@ class LocationManager(Abstract):
                         #gnss_r_data = [0,1]
                         gnss_r_data = quecgnss.read(4096)
                         #EventMesh.txt_log("gps Datalen:{}".format(gnss_r_data[0]))
-                        print("location gnss_r_data:len{}\n{}".format(gnss_r_data[0],gnss_r_data[1].decode()))
+                        # print("location gnss_r_data:len{}\n{}".format(gnss_r_data[0],gnss_r_data[1].decode()))
                         #print("gnss_r_data len:{}".format(gnss_r_data[0]))
                         if gnss_r_data[0] > 0 : #有数据
                             tmp_ok_count = 0
@@ -3117,29 +3129,29 @@ class getSosFlagManager(Abstract):#设置sos
     def set_sos_flag(self, event, msg): 
         self.sos_flag = msg
        
-        # if self.sos_flag == 1:
-        #     number = EventMesh.publish("get_dial_sos_number")
+        if self.sos_flag == 1:
+            number = EventMesh.publish("get_dial_sos_number")
            
-        #     if number != None:
-        #         if len(number) > 0:
-        #             EventMesh.publish("save_phonename",number[0])
-        #             EventMesh.publish("save_phonenum",number[0])
-        #             EventMesh.publish("set_sos_num",0)
-        #             phone_num = EventMesh.publish("get_phonenum")  
-        #             EventMesh.publish("dial_out_call_center_cb",phone_num)#电话拨出去
-        #         else:
-        #             EventMesh.publish("dial_out_call_center_cb",None)#电话拨出去
+            if number != None:
+                if len(number) > 0:
+                    EventMesh.publish("save_phonename",number[0])
+                    EventMesh.publish("save_phonenum",number[0])
+                    EventMesh.publish("set_sos_num",0)
+                    phone_num = EventMesh.publish("get_phonenum")  
+                    EventMesh.publish("sos_out_call_center_cb",phone_num)#电话拨出去
+                else:
+                    EventMesh.publish("sos_out_call_center_cb",None)#电话拨出去
 
     def set_callnumer_cb(self, event, msg):
         self.callnumer = msg
-        self.call_timer.start(10000, 0, self.call_timer_cb)#延迟10S 继续拨打
+        self.call_timer.start(5000, 0, self.call_timer_cb)#延迟10S 继续拨打
 
     def call_timer_cb(self, *args, **kwargs):
         if self.sos_flag == 1:
             EventMesh.publish("save_phonename",str(self.callnumer))
             EventMesh.publish("save_phonenum",str(self.callnumer))
             phone_num = EventMesh.publish("get_phonenum")  
-            EventMesh.publish("dial_out_call_center_cb",phone_num)#电话拨出去
+            EventMesh.publish("sos_out_call_center_cb",phone_num)#电话拨出去
        
 
     def get_sos_flag(self, event, msg): 
diff --git a/2.sdk/project/D10/usr/static/R_POWER_OFF_1.mp3 b/2.sdk/project/D10/usr/static/R_POWER_OFF_1.mp3
new file mode 100644 (file)
index 0000000..3ff519d
Binary files /dev/null and b/2.sdk/project/D10/usr/static/R_POWER_OFF_1.mp3 differ
index 3c3345b..292abe3 100644 (file)
@@ -2054,7 +2054,7 @@ class LocationManager(Abstract):
                         #gnss_r_data = [0,1]
                         gnss_r_data = quecgnss.read(4096)
                         #EventMesh.txt_log("gps Datalen:{}".format(gnss_r_data[0]))
-                        print("location gnss_r_data:len{}\n{}".format(gnss_r_data[0],gnss_r_data[1].decode()))
+                        #print("location gnss_r_data:len{}\n{}".format(gnss_r_data[0],gnss_r_data[1].decode()))
                         #print("gnss_r_data len:{}".format(gnss_r_data[0]))
                         if gnss_r_data[0] > 0 : #有数据
                             tmp_ok_count = 0
index 1842646..057a90e 100644 (file)
@@ -2642,6 +2642,7 @@ class ToolboxScreen(Screen):
 
     def __init__(self):
         super().__init__()
+        self.is_sliding = 0
         self.meta = None
 
     def initialization(self):
@@ -2778,23 +2779,61 @@ class ToolboxScreen(Screen):
             toolbox_stopwatch_img_label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
 
 
-            toolbox_step_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "step"})), lv.EVENT.CLICKED, None)
-            toolbox_weather_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "weather"})), lv.EVENT.CLICKED, None)
-            toolbox_alarm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "clk_list"})), lv.EVENT.CLICKED, None)
+            toolbox_step_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.CLICKED, None)
+            toolbox_weather_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.CLICKED, None)
+            toolbox_alarm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.CLICKED, None)
             # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
-            toolbox_countdown_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "countdown"})), lv.EVENT.CLICKED, None)
-            toolbox_stopwatch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "stopwatch"})), lv.EVENT.CLICKED, None)
+            toolbox_countdown_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e,"countdown")), lv.EVENT.CLICKED, None)
+            toolbox_stopwatch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.CLICKED, None)
             
-            toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "step"})), lv.EVENT.CLICKED, None)
-            toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "weather"})), lv.EVENT.CLICKED, None)
-            toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "clk_list"})), lv.EVENT.CLICKED, None)
+            toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.CLICKED, None)
+            toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.CLICKED, None)
+            toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.CLICKED, None)
             # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
-            toolbox_countdown_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "countdown"})), lv.EVENT.CLICKED, None)
-            toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "stopwatch"})), lv.EVENT.CLICKED, None)
+            toolbox_countdown_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.CLICKED, None)
+            toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.CLICKED, None)
             
 
+            toolbox_step_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.PRESSING, None)
+            toolbox_weather_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.PRESSING, None)
+            toolbox_alarm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.PRESSING, None)
+            # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
+            toolbox_countdown_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.PRESSING, None)
+            toolbox_stopwatch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.PRESSING, None)
+            
+            toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e,"step")), lv.EVENT.PRESSING, None)
+            toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.PRESSING, None)
+            toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.PRESSING, None)
+            # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
+            toolbox_countdown_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.PRESSING, None)
+            toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.PRESSING, None)
+            
             self.meta = toolbox_screen
 
+    def ui_tool_cb(self, e, msg):
+        code = e.get_code()
+        EventMesh.publish("publish_message_event_ui",{"func":self.ui_tool_cb_do,"data":[code,msg]})  
+    def ui_tool_cb_do(self, data):
+        #code = e.get_code()
+
+        code = data[0]
+        msg = data[1]
+
+        #print("code!!!!!!!!",code,msg)
+        if code == lv.EVENT.PRESSING:
+            #print("PRESSING")
+            self.is_sliding += 1
+
+        elif  code == lv.EVENT.CLICKED:
+            #utime.sleep_ms(10)
+            print("1self.is_sliding",self.is_sliding)
+            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
+                EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
+                print("2self.is_sliding",self.is_sliding)
+                
+            self.is_sliding =0
+
+
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
@@ -2805,6 +2844,23 @@ class ToolboxScreen(Screen):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
+    def done_bottom_to_top(self):
+        #print("done_bottom_to_top")
+        self.is_sliding = 0
+        pass
+
+    def done_top_to_bottom(self):
+        #print("done_top_to_bottom")
+        self.is_sliding = 0
+        pass
+    def done_left_to_right(self):
+        #print("done_left_to_right")
+        self.is_sliding = 0
+        pass
+    def done_right_to_left(self):
+        #print("done_right_to_left")
+        self.is_sliding = 0
+        pass  
 
 incoming_call_screen = None
 incoming_call_img = None
@@ -5499,6 +5555,8 @@ class CountdownScreen(Screen):
         print("hour_down:",self.hour)
         self.show_value()
     
+
+    
     def start(self,e):
         global countdown_screen ,countdown_title,countdown_hour ,countdown_mao ,countdown_mao ,countdown_mao1 ,\
             countdown_sec ,countdown_hour_up ,countdown_hour_up_btn ,countdown_hour_down ,countdown_hour_down_btn ,\
@@ -5752,6 +5810,8 @@ class CountdownEndScreen(Screen):
             countdown_end_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
             countdown_end_label.set_long_mode(lv.label.LONG.WRAP)
             countdown_end_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+
+            
             self.meta = countdown_end_screen
         self.FIND_timer_count = 0
         EventMesh.publish("close_count_show_info")
index e6e6bfd..65903ed 100644 (file)
@@ -263,34 +263,85 @@ class SettingScreen(Screen):
 
     def __init__(self):
         super().__init__()
+        self.is_sliding = 0
+        self.is_left_sliding = 0
         self.meta = setting_screen
         # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
-        setting_dialswitch_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "dialswitch"})), lv.EVENT.CLICKED, None)
+        setting_dialswitch_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.CLICKED ), None)
         # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
-        setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "imei"})), lv.EVENT.CLICKED, None)
-        setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "app"})), lv.EVENT.CLICKED, None)
-        setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "brightness"})), lv.EVENT.CLICKED, None)
-        setting_volume_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "totalvolume"})), lv.EVENT.CLICKED, None)
-        setting_restore_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "restore"})), lv.EVENT.CLICKED, None)
-        setting_poweroff_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "poweroff"})), lv.EVENT.CLICKED, None)
-        setting_update_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), lv.EVENT.CLICKED, None)
-        setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "version"})), lv.EVENT.CLICKED, None)
+        setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.CLICKED ), None)
+        setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "app")), (lv.EVENT.CLICKED ), None)
+        setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "brightness")), (lv.EVENT.CLICKED ), None)
+        setting_volume_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.CLICKED ), None)
+        setting_restore_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "restore")), (lv.EVENT.CLICKED ), None)
+        setting_poweroff_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.CLICKED ), None)
+        setting_update_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.CLICKED ), None)
+        setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.CLICKED ), None)
 
         # img regist btton
-        # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
-        setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "dialswitch"})), lv.EVENT.CLICKED, None)
+        # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), (lv.EVENT.CLICKED ), None)
+        setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.CLICKED ), None)
+        # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), (lv.EVENT.CLICKED ), None)
+        setting_imei_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.CLICKED ), None)
+        setting_app_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), (lv.EVENT.CLICKED ), None)
+        setting_bright_img.add_event_cb(lambda e:EventMesh.callback_wrapper( self.ui_setting_cb(e, "brightness")), (lv.EVENT.CLICKED ), None)
+        setting_volume_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.CLICKED ), None)
+        setting_restore_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), (lv.EVENT.CLICKED ), None)
+        setting_poweroff_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.CLICKED ), None)
+        setting_update_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.CLICKED ), None)
+        setting_version_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.CLICKED ), None)
+
+        setting_dialswitch_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), lv.EVENT.PRESSING, None)
         # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
-        setting_imei_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "imei"})), lv.EVENT.CLICKED, None)
-        setting_app_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "app"})), lv.EVENT.CLICKED, None)
-        setting_bright_img.add_event_cb(lambda e:EventMesh.callback_wrapper( self.load_screen(e, {"screen": "brightness"})), lv.EVENT.CLICKED, None)
-        setting_volume_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "totalvolume"})), lv.EVENT.CLICKED, None)
-        setting_restore_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "restore"})), lv.EVENT.CLICKED, None)
-        setting_poweroff_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "poweroff"})), lv.EVENT.CLICKED, None)
-        setting_update_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), lv.EVENT.CLICKED, None)
-        setting_version_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "version"})), lv.EVENT.CLICKED, None)
+        setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), lv.EVENT.PRESSING, None)
+        setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "app")), lv.EVENT.PRESSING, None)
+        setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "brightness")), lv.EVENT.PRESSING, None)
+        setting_volume_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), lv.EVENT.PRESSING, None)
+        setting_restore_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e,  "restore")), lv.EVENT.PRESSING, None)
+        setting_poweroff_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), lv.EVENT.PRESSING, None)
+        setting_update_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), lv.EVENT.PRESSING, None)
+        setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), lv.EVENT.PRESSING, None)
 
-    
+        # img regist btton
+        # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
+        setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), lv.EVENT.PRESSING, None)
+        # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
+        setting_imei_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), lv.EVENT.PRESSING, None)
+        setting_app_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), lv.EVENT.PRESSING, None)
+        setting_bright_img.add_event_cb(lambda e:EventMesh.callback_wrapper( self.ui_setting_cb(e, "brightness")), lv.EVENT.PRESSING, None)
+        setting_volume_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), lv.EVENT.PRESSING, None)
+        setting_restore_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), lv.EVENT.PRESSING, None)
+        setting_poweroff_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), lv.EVENT.PRESSING, None)
+        setting_update_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), lv.EVENT.PRESSING, None)
+        setting_version_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), lv.EVENT.PRESSING, None)
+    def initialization(self):
+        self.is_left_sliding = 0
+        self.is_sliding = 0
+        pass
 
+    def ui_setting_cb(self, e, msg):
+        code = e.get_code()
+        EventMesh.publish("publish_message_event_ui",{"func":self.ui_setting_cb_do,"data":[code,msg]})  
+    def ui_setting_cb_do(self, data):
+        #code = e.get_code()
+
+        code = data[0]
+        msg = data[1]
+
+        #print("code!!!!!!!!",code,msg)
+        if code == lv.EVENT.PRESSING:
+            #print("PRESSING")
+            self.is_sliding += 1
+
+        elif  code == lv.EVENT.CLICKED:
+            #utime.sleep_ms(10)
+            print("1self.is_sliding",self.is_sliding)
+            if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
+                EventMesh.publish("load_screen", {"screen": "{}".format(msg)})
+                print("2self.is_sliding",self.is_sliding)
+                
+            self.is_sliding =0
+            
     def done_return(self):
         EventMesh.publish("load_screen", {"screen": "main_menu"})
 
@@ -301,6 +352,23 @@ class SettingScreen(Screen):
     def btn8_press(self):
         EventMesh.publish("watch_top_show")
         EventMesh.publish("load_screen", {"screen": "main_menu"})
+    def done_bottom_to_top(self):
+        #print("done_bottom_to_top")
+        self.is_sliding = 0
+        pass
+
+    def done_top_to_bottom(self):
+        #print("done_top_to_bottom")
+        self.is_sliding = 0
+        pass
+    def done_left_to_right(self):
+        #print("done_left_to_right")
+        self.is_sliding = 0
+        pass
+    def done_right_to_left(self):
+        #print("done_right_to_left")
+        self.is_sliding = 0
+        pass  
 ##################################################################
 # -------------------------------------------language screen----------------------------------------------------------
 language_screen = lv.obj()
index 391e4ad..3b5678e 100644 (file)
@@ -632,7 +632,8 @@ class intervManager(Abstract):
             if step != 0:
                 EventMesh.publish("set_storage_config",["old_step",step])
             date_tmp = utime.localtime()
-            EventMesh.publish("set_storage_config",["old_timesecond",date_tmp])#关机保存一个是时间
+            time_tmp = utime.mktime(date_tmp)
+            EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
             
             EventMesh.publish("set_motor_time",[1,2,4,4,2])#设置马达参数
             EventMesh.publish("set_led_time_arg",[1,2,4*8,led_mode.FLASH_LIGHT_RED,4,2,led_mode.OTHER_MEASURE_MODE])#測量成功