#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()`)*/
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)
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)#关闭音频
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"))
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)
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])
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()
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:
return
self.aud.stopPlayStream()
+ self.timer.stop()
+
def answer_call_event(self, event, msg): #
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)
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):
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:#电话呼叫中
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])#
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")
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")
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:
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): #拨打紧急求助电话
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"))
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:
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()
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
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()
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)
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]:上升沿或下降沿
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) #开始定位
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")#获取关机标识
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
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")#接听电话
CHARGE_IN_MODE = 203 #充电模式
CHARGE_OUT_MODE = 204 #充电已移出
CHARGE_FULL_MODE = 205 #充电已满
+ POWER_OFF_MODE = 206 #关机模式
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])#测量失败
#加音频文件
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)
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:
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:#长亮时间限制
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()
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:#长亮时间限制
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()
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()
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()
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()
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
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灯
-
-
-
+
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"})
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:
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
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]
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:
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")
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]
#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
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):
#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
def __init__(self):
super().__init__()
+ self.is_sliding = 0
self.meta = None
def initialization(self):
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"})
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
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 ,\
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")
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"})
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()
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])#測量成功