#define LV_INDEV_DEF_X_SLIDING_SPEED 100
#endif
+#if PROJECT_NAME_G5_K5
+#define LV_INDEV_DEF_X_SLIDING_SPEED 100
+#endif
+
/*Long press time in milliseconds.
*Time to send `LV_EVENT_LONG_PRESSSED`)*/
#define LV_INDEV_DEF_LONG_PRESS_TIME 400
count = 3
for i in range(count):
if i == 0:
- screen_school_data = lst[0]
- EventMesh.publish("set_schoolname", screen_school_data)#
+ if len(str(lst[0])) != 0:
+ screen_school_data = lst[0]
+ EventMesh.publish("set_schoolname", screen_school_data)#
elif i == 1:
- screen_class_data = lst[1]
- EventMesh.publish("set_classname", screen_class_data)#
+ if len(str(lst[1])) != 0:
+ screen_class_data = lst[1]
+ EventMesh.publish("set_classname", screen_class_data)#
else:
- screen_fullname_data= lst[2]
- EventMesh.publish("set_fullname", screen_fullname_data)#
+ if len(str(lst[2])) != 0:
+ screen_fullname_data= lst[2]
+ EventMesh.publish("set_fullname", screen_fullname_data)#
EventMesh.publish("update_screen_show")#更新开屏显示
pass
school=EventMesh.publish("get_schoolname")
if school != None:
- watchface3_school_label.set_text(str(school))
+ if len(str(school)) != 0:
+ watchface3_school_label.set_text(str(school))
+ else:
+ watchface3_school_label.set_text(' ')
else:
watchface3_school_label.set_text(' ')
class_name = EventMesh.publish("get_classname")
if class_name != None:
- watchface3_class_label.set_text(str(class_name))
+ if len(str(class_name)) != 0:
+ watchface3_class_label.set_text(str(class_name))
+ else:
+ watchface3_class_label.set_text(' ')
else:
watchface3_class_label.set_text(' ')
fullname = EventMesh.publish("get_fullname")
if fullname != None:
- watchface3_fullname_label.set_text(str(fullname))
+ if len(str(fullname)) != 0:
+ watchface3_fullname_label.set_text(str(fullname))
+ else:
+ watchface3_fullname_label.set_text(' ')
else:
watchface3_fullname_label.set_text(' ')
import versions
import ql_fs
-model = "D10_"
+model = "D15_"
# model = "G10W_DT_YBX_"
EventMesh.subscribe("set_unread_wechat_state", self.set_unread_wechat_state)#设置未读标识
EventMesh.subscribe("get_unread_wechat_state", self.get_unread_wechat_state)#获取未读标志
EventMesh.subscribe("get_wechat_time", self.get_wechat_time)#获取微聊时间戳
- EventMesh.subscribe("get_wechat_state", self.get_wechat_state)#获取微聊时间戳
+ EventMesh.subscribe("get_wechat_state", self.get_wechat_state)#获取微聊状态
+ EventMesh.subscribe("set_wechat_state", self.set_wechat_state)#设置微聊状态
EventMesh.subscribe("get_power_on_state", self.get_power_on_state)#获取开机标识
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])#測量成功
EventMesh.debug_log("charge R_CHARGE_OUT")
if flag == 0 and self.fall_flag == 0:#电话通话中 或者呼叫中挂断中断
pass
def app_restart_cb(self,*argc):
Power.powerRestart()
-
+
def open_power_on(self, event, msg): #msg 1 开机 2 关机 3 重启 4恢复出厂设置 5静音关机
EventMesh.publish("close_timer_all")#
if msg == 1:
-
+ EventMesh.publish("close_hr_sop2")#
# 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)
# EventMesh.publish("set_test_data6",[1,step3,step4,step5])
EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
EventMesh.publish("set_storage_config",["power_state",0])
- self.pwk_timer1.start(3000,0,self.power_off_audio_cb)
+ # self.pwk_timer1.start(3000,0,self.power_off_audio_cb)
+ EventMesh.publish("close_hr_sop2")#
+ # EventMesh.debug_log("power_off_audio_cb")
+ self.aud.stop()
+ 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,6*8,led_mode.FLASH_LIGHT_RED,6,3,led_mode.POWER_OFF_MODE])#
+ self.power_off = 1
+ self.pwk_timer2.start(6000,0,self.publish_power_down_event_cb)
elif msg == 3:
flag = EventMesh.publish("get_call_state")
if flag != 0:#电话呼叫中
self.call_state = 0
voiceCall.callEnd()
+ EventMesh.publish("close_hr_sop2")#
+ self.aud.stop()
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)
if flag != 0:#电话呼叫中
self.call_state = 0
voiceCall.callEnd()
+ EventMesh.publish("close_hr_sop2")#
EventMesh.publish("stop_led_timer")#设置参数
self.power_off = 1
ret = 0
time_tmp = utime.mktime(date_tmp)
EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
EventMesh.publish("set_storage_config",["power_state",1])
- self.pwk_timer1.start(3000,0,self.power_off_no_audio_cb)#不需要关机铃声
+
+ EventMesh.publish("close_hr_sop2")#
+ EventMesh.publish("set_led_time_arg",[1,2,6*8,led_mode.FLASH_LIGHT_RED,6,3,led_mode.POWER_OFF_MODE])#
+ self.power_off = 1
+ self.pwk_timer2.start(6000,0,self.publish_power_down_event_cb)
+ # self.pwk_timer1.start(3000,0,self.power_off_no_audio_cb)#不需要关机铃声
def fun(self,*argc):
self.aud.stopPlayStream()
power_state = 0
# print("power_state",power_state)
if power_state <= 0:
+ self.aud.stop()
self.aud.play(1,1,'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)
def power_off_audio_cb(self, msg):
# EventMesh.debug_log("power_off_audio_cb")
+ self.aud.stop()
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)
pass
else:
EventMesh.publish("close_timer_all")#
+ EventMesh.publish("set_led_time_arg",[1,2,10,led_mode.FLASH_LIGHT_WHITE,10,5,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)
else:#未插卡
EventMesh.publish("close_timer_all")#
+ 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)
self.press_btn = 0
def get_wechat_state(self, event, msg):
return self.press_btn
+ def set_wechat_state(self, event, msg):
+ self.press_btn = msg
def send_wechat_record(self, event, msg): #发送录音文件
if self.press_btn == 1:
# fd.readinto(buf)
# senddata = [self.countdown_old,buf]
# EventMesh.publish(constants.PROTOCOL.TKS_SEND,senddata)
+ else:
+ self.press_btn = 0
+
def play_wechat_last_amr(self, event, msg):#播放微聊最后一条语音文件
self.sosKey_timer = osTimer()
self.sosKey_count = 0
self.sosKey_press = 0
+ self.sosKey_long_press = 0
self.wechatKey_press_count = 0
self.timeSeconOld = 0
- self.wechat_state = 1 #按下录音时的状态
+ self.wechat_state = 0 #按下录音时的状态
self.sosKey_press_count = 0
def pwk_extint_cb(self,args):#侧边按键
# self.GPIO26_status = self.extint.read_level()
- self.GPIO26_status = int(args[1])
- if self.GPIO26_status == 0:
- self.GPIO26_status = 1
- else:
- self.GPIO26_status = 0
- pass
- # EventMesh.debug_log('### key20_extint_cb {} self.GPIO26_status :{}'.format(args,self.GPIO26_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
- power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
+
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
return
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if fall_down != None:
if fall_down != 0 or flag == 2:
return
+ self.GPIO26_status = int(args[1])
+ if self.GPIO26_status == 0:
+ self.GPIO26_status = 1
+ else:
+ self.GPIO26_status = 0
+ pass
+ self.WeChatKey_status = self.wechatKey.read_level()
if self.sosKey_status != 0 and self.WeChatKey_status != 0:
if self.GPIO26_status == 0:#按下
+ EventMesh.publish("close_wechat_btn_timer")
if self.pwkey_press == 0 :
self.aud.stop() #播放声音
# self.wechatKey_timeout_cb(0)
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.sosKey_timer.stop()
- self.wechatKey_press_count = 0
+
self.sosKey_press_count = 0
self.sosKey_press = 0
+ self.sosKey_long_press = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
+ self.wechatKey_press_count = 0
self.pwkey_press = 1
self.pwkey_count = 0
def pwKey_press_cb(self, data):
'''KEY2:联动屏幕右下角或返回键长按关机'''
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.pwkey_timer.stop()
+ self.pwkey_count = 0
+ self.pwkey_press = 0
+ self.led_state = 0
+ self.pwKey_press_count=0
+ return
+ self.GPIO26_status = self.extint.read_level()
if self.pwkey_press == 1 :
self.pwkey_count += 1
if self.pwkey_count > 5:
except Exception as e:
usys.print_exception(e)
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.pwkey_timer.stop()
+ self.pwkey_count = 0
+ self.pwkey_press = 0
+ self.led_state = 0
+ self.pwKey_press_count=0
+ return
if self.pwKey_press_count >= 1:
self.pwKey_press_count = 0
+
+ # flag = EventMesh.publish("get_call_state")
+ # if flag != 2:#如果是电话拨出去或者不在打电话中都可以执行
+ # EventMesh.publish("stop_led_timer")#设置参数
+ # if flag == 1:#如果是sos电话拨出去
+ # sos_flag = EventMesh.publish("get_sos_flag")
+ # if sos_flag == 1:
+ # EventMesh.publish("set_sos_flag",0)
+ # EventMesh.publish("set_sos_num",0)
+ # EventMesh.publish("set_hangup_mode",0)
+ # EventMesh.publish("close_hr_sop2")#
+ # flag = EventMesh.publish("get_call_state")
+ # # if flag == 0 or flag == 2:#在拨出去或者通话中就不播报入网成功的语音
+ # if flag != 1:#在拨出去或者通话中就不播报入网成功的语音
+ # EventMesh.publish("set_sim_mode")#
+ # EventMesh.publish("dialing_out_event")#电话呼叫中voiceCall.callEnd()
+
# EventMesh.debug_log("pwKey_timeout_cb:self.pwKey_press_count >= 1")
flag = EventMesh.publish("get_call_state")
if flag != 2:
def sosKey_extint_cb(self,args):
power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ if power_off != None and open_power != None:
+ if power_off == 1 or open_power == 0:
return
# self.sosKey_status = self.sosKey.read_level()
self.sosKey_status = int(args[1])
else:
self.sosKey_status = 0
pass
- # EventMesh.debug_log('### key22_extint_cb {} self.GPIO22_status:{}'.format(args,self.sosKey_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
+ # wechat_state = EventMesh.publish("get_wechat_state")
+ # EventMesh.debug_log('### key22_extint_cb {} {} self.GPIO22_status:{} {} {}'.format(wechat_state,args,self.WeChatKey_status,self.GPIO26_status,self.sosKey_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
if self.WeChatKey_status != 0 and self.GPIO26_status != 0:
if self.sosKey_status == 0:#按下
EventMesh.publish("close_falldown_alarm_event")#sos短按事件
+ EventMesh.publish("close_wechat_btn_timer")
if self.sosKey_press == 0 :
self.led_state = 0
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.sosKey_timer.stop()
self.wechatKey_press_count = 0
+ self.wechat_state = 0
+ self.wechatKey_count = 0
self.pwKey_press_count = 0
- self.sosKey_press = 1
+
self.pwkey_press = 0
self.wechatKey_press = 0
+
self.sosKey_long_press = 0
self.sosKey_count = 0
+ self.sosKey_press = 1
self.sosKey_timer.start(100, 1, self.publish_soskey_btn_event_cb)
# EventMesh.debug_log("key22_extint_cb:self.key22_timer.start!!!!\n")
def sosKey_press_cb(self, data):
'''KEY2:联动屏幕右下角或返回键长按关机'''
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.sosKey_timer.stop()
+ self.sosKey_count = 0
+ self.sosKey_press = 0
+ self.sosKey_long_press = 0
+ self.sosKey_press_count = 0
+ return
+ self.sosKey_status = self.sosKey.read_level()
if self.sosKey_press == 1 :
# if self.sosKey_count <= 2:
# if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#未联网不需要录音
# EventMesh.publish("set_led_time_arg",[1000,200,1,led_mode.FLASH_LIGHT_RED,led_mode.DEFAULT_LONG_LIGHT_MODE,led_mode.OTHER_MEASURE_MODE])#设置参数
self.sosKey_count += 1
if self.sosKey_count >= 10*3: #长按3s sos拨号
- self.sosKey_count = 0
- self.sosKey_long_press = 1
- self.sosKey_press = 0
- self.sosKey_timer.stop()
- flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
- fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
- if fall_down != None:
- if fall_down != 0 or flag == 2:
- return
- EventMesh.publish_async("dial_sos_phone")#拨打sos号码
- return
+ if self.sosKey_long_press == 0:
+ self.sosKey_long_press = 1
+ flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
+ fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
+ if fall_down != None:
+ if fall_down != 0 or flag == 2:
+ return
+ EventMesh.publish_async("dial_sos_phone")#拨打sos号码
+ return
+ if self.sosKey_status == 1:#松开
+ self.sosKey_count = 0
+ self.sosKey_long_press = 0
+ self.sosKey_press = 0
+ self.sosKey_timer.stop()
+ return
# EventMesh.debug_log("self.sosKey_count {}",self.sosKey_count)
if self.sosKey_status == 1:#松开
self.sosKey_timer.stop()
self.sosKey_count = 0
self.sosKey_press = 0
+ self.sosKey_long_press = 0
self.sosKey_press_count+=1
self.sosKey_timer.start(500, 0, self.publish_sosKey_timeout_cb_do)#松手超时1s判断
def publish_sosKey_timeout_cb_do(self, *args, **kwargs):
EventMesh.publish("publish_message_event_btnInfo",{"func":self.sosKey_timeout_cb,"data":0})
def sosKey_timeout_cb(self, data):#
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.sosKey_timer.stop()
+ self.sosKey_count = 0
+ self.sosKey_press = 0
+ self.sosKey_long_press = 0
+ self.sosKey_press_count = 0
+ return
# EventMesh.debug_log("sosKey_press_count!!!!!!!!!!!!!! ",self.sosKey_press_count)
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
def wechatKey_extint_cb(self,args):
- power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off != 0:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
return
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if fall_down != None:
else:
self.WeChatKey_status = 0
pass
- # EventMesh.debug_log('### wechatKey_extint_cb {} self.WeChatKey_status:{}'.format(args,self.WeChatKey_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
+
+ # EventMesh.debug_log('### wechatKey_extint_cb {} {} self.WeChatKey_status:{} {} {}'.format(wechat_state,args,self.sosKey_status,self.GPIO26_status,self.WeChatKey_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
if self.sosKey_status != 0 and self.GPIO26_status != 0:
if self.WeChatKey_status == 0:#按下
if self.wechatKey_press == 0:
self.pwkey_timer.stop()
self.sosKey_timer.stop()
self.sosKey_press_count = 0
+ self.sosKey_long_press = 0
self.pwKey_press_count = 0
self.sosKey_press = 0
self.pwkey_press = 0
self.wechatKey_press = 1
self.led_state = 0
self.wechatKey_count = 0
- self.wechat_state = 1
+ self.wechat_state = 0
self.wechatKey_timer.start(100, 1, self.publish_wechat_btn_event_cb)
+ else:
+ # EventMesh.debug_log('### wechatKey_extint_cb end')
+ EventMesh.publish("close_wechat_btn_timer")
+
def close_wechat_btn_timer(self,event,*argc):
tmp = EventMesh.publish("get_wechat_time")#获取微聊时间戳
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count=0
+
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
time_sec = tmp[1]
def wechatKey_press_cb(self,data):
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.wechatKey_timer.stop()
+ self.wechatKey_count = 0
+ self.wechatKey_press = 0
+ self.wechat_state = 0
+ self.wechatKey_press_count=0
+ return
+ self.WeChatKey_status = self.wechatKey.read_level()
+ # print("100ms self.WeChatKey_status",self.WeChatKey_status)
wechat_time = 0
tmp = None
time_sec = 0
if self.wechatKey_press == 1 :#是否按下
tmp = EventMesh.publish("get_wechat_time")#获取微聊时间戳
self.wechatKey_count += 1
- if self.wechatKey_count >= 10: #长按1s进入微聊录音
+ if self.wechatKey_count >= 15: #长按1s进入微聊录音
flag = EventMesh.publish("get_call_state")
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if flag != None:
if flag == 0 and fall_down == 0:
if self.WeChatKey_status == 0:
if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#未联网不需要录音
- if self.wechat_state == 1:#按下超过s开始录音
+ if self.wechat_state == 0:#按下超过s开始录音
EventMesh.publish("start_wechat_record")#开始录音
- self.wechat_state = 0
+ self.wechat_state = 1
else:
self.wechat_state = 0
self.wechatKey_timer.stop()
return
if self.WeChatKey_status == 0:#未松手超过15s啧停止录音
- if self.wechat_state == 0:
+ if self.wechat_state == 1:
if tmp != None:
if tmp[0] != 0:
time_sec = tmp[1]
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count=0
return
else:
if self.WeChatKey_status == 1:
- if self.wechat_state == 0:#如果按下时长超过1s且小于长按的时间也认为是录微聊
+ if self.wechat_state == 1:#如果按下时长超过1s且小于长按的时间也认为是录微聊
if tmp != None:
if tmp[0] != 0:
time_sec = tmp[1]
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count=0
return
else:
self.wechatKey_timer.stop()
self.wechatKey_count = 0
+ self.wechat_state = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0
+ return
if self.WeChatKey_status == 1:#松开
if self.wechatKey_count >= 1: #防抖100ms
# EventMesh.debug_log("WeChat time!!!!!!!!!!!!!!")
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count+=1
self.wechatKey_timer.start(500, 0, self.publish_wechatKey_btn_event_cb)#松手超时1s判断
EventMesh.publish("publish_message_event_btnInfo",{"func":self.wechatKey_timeout_cb,"data":0})
def wechatKey_timeout_cb(self,data):#微聊键
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.wechatKey_timer.stop()
+ self.wechatKey_count = 0
+ self.wechatKey_press = 0
+ self.wechat_state = 0
+ self.wechatKey_press_count=0
+ return
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if self.wechatKey_press_count > 1:#
def open_power_on(self, event, msg): #msg 1 开机 2 关机 3 重启 4恢复出厂设置 5静音关机
EventMesh.publish("close_timer_all")#
if msg == 1:
-
+ EventMesh.publish("close_hr_sop2")#
# 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)
# EventMesh.publish("set_test_data6",[1,step3,step4,step5])
EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
EventMesh.publish("set_storage_config",["power_state",0])
- self.pwk_timer1.start(3000,0,self.power_off_audio_cb)
+ # self.pwk_timer1.start(3000,0,self.power_off_audio_cb)
+ EventMesh.publish("close_hr_sop2")#
+ # EventMesh.debug_log("power_off_audio_cb")
+ self.aud.stop()
+ 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,6*8,led_mode.FLASH_LIGHT_RED,6,3,led_mode.POWER_OFF_MODE])#
+ self.power_off = 1
+ self.pwk_timer2.start(6000,0,self.publish_power_down_event_cb)
elif msg == 3:
flag = EventMesh.publish("get_call_state")
if flag != 0:#电话呼叫中
self.call_state = 0
voiceCall.callEnd()
+ EventMesh.publish("close_hr_sop2")#
+ self.aud.stop()
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)
if flag != 0:#电话呼叫中
self.call_state = 0
voiceCall.callEnd()
+ EventMesh.publish("close_hr_sop2")#
EventMesh.publish("stop_led_timer")#设置参数
self.power_off = 1
ret = 0
time_tmp = utime.mktime(date_tmp)
EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
EventMesh.publish("set_storage_config",["power_state",1])
- self.pwk_timer1.start(3000,0,self.power_off_no_audio_cb)#不需要关机铃声
+
+ EventMesh.publish("close_hr_sop2")#
+ EventMesh.publish("set_led_time_arg",[1,2,6*8,led_mode.FLASH_LIGHT_RED,6,3,led_mode.POWER_OFF_MODE])#
+ self.power_off = 1
+ self.pwk_timer2.start(6000,0,self.publish_power_down_event_cb)
+ # self.pwk_timer1.start(3000,0,self.power_off_no_audio_cb)#不需要关机铃声
+
+
def fun(self,*argc):
self.aud.stopPlayStream()
power_state = 0
# print("power_state",power_state)
if power_state <= 0:
+ self.aud.stop()
self.aud.play(1,1,'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)
def power_off_audio_cb(self, msg):
# EventMesh.debug_log("power_off_audio_cb")
+ self.aud.stop()
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)
pass
else:
EventMesh.publish("close_timer_all")#
+ EventMesh.publish("set_led_time_arg",[1,2,10,led_mode.FLASH_LIGHT_WHITE,10,5,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)
else:#未插卡
EventMesh.publish("close_timer_all")#
+ 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)
# fd.readinto(buf)
# senddata = [self.countdown_old,buf]
# EventMesh.publish(constants.PROTOCOL.TKS_SEND,senddata)
-
+ else:
+ self.press_btn = 0
def play_wechat_last_amr(self, event, msg):#播放微聊最后一条语音文件
flag = EventMesh.publish("get_call_state")
self.__tp = tp
self.pwk_press = 0
self.pwk_count = 0
- self.GPIO26_status = 1#默认是低电平
+
self.powerKey_status = 0
self.sosKey = 0
self.wechatKey = 0
self.wechatKey_press_count = 0
self.timeSeconOld = 0
- self.wechat_state = 1 #按下录音时的状态
+ self.wechat_state = 0 #按下录音时的状态
self.sosKey_press_count = 0
- self.pwk_key = 0
- self.GPIO26_status = 1
+
self.extint_22 = 0
self.GPIO22_status = 1
self.pwkey_timer = osTimer()
+ self.pwk_key = 0
+ self.GPIO26_status = 1
self.pwKey_press_count = 0
self.pwkey_count = 0
self.pwkey_press = 0
self.extint_17 = ExtInt(ExtInt.GPIO17,ExtInt.IRQ_RISING_FALLING, ExtInt.PULL_PU, self.key17_extint_cb)
self.extint_17.enable()
- # self.sosKey = ExtInt(ExtInt.GPIO22, ExtInt.IRQ_RISING_FALLING, ExtInt.PULL_PU, self.sosKey_extint_cb)
- # self.sosKey.enable()
-
self.wechatKey = ExtInt(ExtInt.GPIO22, ExtInt.IRQ_RISING_FALLING, ExtInt.PULL_PU, self.wechatKey_extint_cb)
self.wechatKey.enable()
- # key19 = Pin(Pin.GPIO19, Pin.OUT, Pin.PULL_PU, 0)
- # def key22_extint_cb(self,args):#SOS键
- # self.GPIO22_status = self.extint_22.read_level()
- # EventMesh.debug_log('### key22_extint_cb {} self.GPIO22_status :{}'.format(args,self.GPIO22_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
- def key17_extint_cb(self,args):#call 2
-
- power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
+ def key17_extint_cb(self,args):#call 1
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
return
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
if fall_down != 0:
return
- self.KeyCall2_status = int(args[1])
+ self.KeyCall1_status = int(args[1])
# EventMesh.txt_log('self.KeyCall2_level :{}'.format(args,self.KeyCall2_status,GPIO17_status))
- if self.KeyCall2_status == 0:
- self.KeyCall2_status = 1
+ if self.KeyCall1_status == 0:
+ self.KeyCall1_status = 1
else:
- self.KeyCall2_status = 0
+ self.KeyCall1_status = 0
pass
self.WeChatKey_status = self.wechatKey.read_level()
self.GPIO26_status = self.pwk_key26.read_level()
- self.KeyCall1_status = self.extint_19.read_level()
+ self.KeyCall2_status = self.extint_19.read_level()
self.sosKey_status = self.sosKey.read_level()
- EventMesh.debug_log('key17_extint_cb1',args,self.KeyCall2_status,self.Keycall2_press,self.Keycall2_long_press)
+ # EventMesh.debug_log('key17_extint_cb1',args,self.KeyCall2_status,self.Keycall2_press,self.Keycall2_long_press)
# EventMesh.debug_log('key17_extint_cb2',self.Keycall2_press) # args[0]:gpio号 args[1]:上升沿或下降沿
# EventMesh.debug_log('key17_extint_cb',args,self.KeyCall2_status,self.WeChatKey_status,self.GPIO26_status,self.KeyCall1_status,self.sosKey_status) # args[0]:gpio号 args[1]:上升沿或下降沿
- if self.WeChatKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall1_status != 0 and self.sosKey_status != 0:
- if self.KeyCall2_status == 0:#按下
- if self.Keycall2_press == 0 :
+ if self.WeChatKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall2_status != 0 and self.sosKey_status != 0:
+ if self.KeyCall1_status == 0:#按下
+ EventMesh.publish("close_wechat_btn_timer")
+ if self.Keycall1_press == 0 :
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.sosKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0#微聊键
-
- self.Keycall1_count = 0
- self.Keycall1_press = 0
- self.Keycall1_press_count = 0#call 1键
- self.Keycall1_long_press = 0
+ self.wechat_state = 0
self.Keycall2_count = 0
- self.Keycall2_press = 1
+ self.Keycall2_press = 0
+ self.Keycall2_press_count = 0#call 2键
self.Keycall2_long_press = 0
- self.Keycall2_timer.start(200, 1, self.publish_call2key_btn_event_cb)
- def call2Key_press_cb(self, data):
+ self.Keycall1_count = 0
+ self.Keycall1_press = 1
+ self.Keycall1_long_press = 0
+ self.Keycall1_timer.start(100, 1, self.publish_call1key_btn_event_cb)
+
+ def call1Key_press_cb(self, data):
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.Keycall1_timer.stop()
+ self.Keycall1_count = 0
+ self.Keycall1_press = 0
+ self.Keycall1_press_count+=1
+ self.Keycall1_long_press = 0
+ return
'''KEY2:联动屏幕右下角或返回键长按关机'''
- if self.Keycall2_press == 1 :
- self.Keycall2_count += 1
- if self.Keycall2_count >= 10*3: #长按3s
- if self.Keycall2_long_press == 0:
- self.Keycall2_long_press = 1
+ self.KeyCall1_status = self.extint_17.read_level()
+ if self.Keycall1_press == 1 :
+ self.Keycall1_count += 1
+ if self.Keycall1_count >= 10*3: #长按3s
+ if self.Keycall1_long_press == 0:
+ self.Keycall1_long_press = 1
flag = EventMesh.publish("get_call_state")#获取通话状态
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if fall_down != None:
EventMesh.publish("call_phonebook_num",1)
return
- if self.KeyCall2_status == 1:
- self.Keycall2_count = 0
- self.Keycall2_press = 0
- self.Keycall2_press_count = 0
- self.Keycall2_long_press = 0
- self.Keycall2_timer.stop()
+ if self.KeyCall1_status == 1:
+ self.Keycall1_count = 0
+ self.Keycall1_press = 0
+ self.Keycall1_press_count = 0
+ self.Keycall1_long_press = 0
+ self.Keycall1_timer.stop()
return
- if self.KeyCall2_status == 1:#松开
- if self.Keycall2_count >= 1: #防抖100ms
- self.Keycall2_timer.stop()
- self.Keycall2_count = 0
- self.Keycall2_press = 0
- self.Keycall2_press_count+=1
- self.Keycall2_timer.start(500, 0, self.publish_call2Key_timeout_cb_do)#松手超时1s判断
+ if self.KeyCall1_status == 1:#松开
+ if self.Keycall1_count >= 1: #防抖100ms
+ self.Keycall1_timer.stop()
+ self.Keycall1_count = 0
+ self.Keycall1_press = 0
+ self.Keycall1_press_count+=1
+ self.Keycall1_timer.start(500, 0, self.publish_call1Key_timeout_cb_do)#松手超时1s判断
- def publish_call2Key_timeout_cb_do(self, *args, **kwargs):
- EventMesh.publish("publish_message_event_btnInfo",{"func":self.call2Key_timeout_cb,"data":0})
+ def publish_call1Key_timeout_cb_do(self, *args, **kwargs):
+ EventMesh.publish("publish_message_event_btnInfo",{"func":self.call1Key_timeout_cb,"data":0})
- def call2Key_timeout_cb(self, data):#
+ def call1Key_timeout_cb(self, data):#
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.Keycall1_timer.stop()
+ self.Keycall1_count = 0
+ self.Keycall1_press = 0
+ self.Keycall1_press_count+=1
+ self.Keycall1_long_press = 0
+ return
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
# print("call2Key_timeout_cb",self.Keycall2_press_count,flag)
- if self.Keycall2_press_count > 1:#
+ if self.Keycall1_press_count > 1:#
if fall_down != None:
if fall_down != 0 or flag != 0:#在打电话或者跌倒报警提醒中不允许按键触发
- self.Keycall2_press_count = 0
+ self.Keycall1_press_count = 0
return
- if self.Keycall2_press_count == 3:#心率血压测试
- self.Keycall2_press_count = 0
+ if self.Keycall1_press_count == 3:#心率血压测试
+ self.Keycall1_press_count = 0
call_state = EventMesh.publish("get_call_state")
battery = EventMesh.publish("screen_get_battery")
if call_state == None:
if battery[0] != "1":#在充电得时候
EventMesh.publish("stop_led_timer")#设置参数
EventMesh.publish("set_manual_measure_mode",1)#
- elif self.Keycall2_press_count == 1:#
- self.Keycall2_press_count = 0
+ elif self.Keycall1_press_count == 1:#
+ self.Keycall1_press_count = 0
EventMesh.publish("stop_led_timer")#设置参数
call_state = EventMesh.publish("get_call_state")
if call_state == 2:#电话拨进需要接听
EventMesh.publish("play_cur_step_event")##播放当前步数
- self.Keycall2_press_count = 0
+ self.Keycall1_press_count = 0
- def key19_extint_cb(self,args):#call 1
+ def key19_extint_cb(self,args):#call 2
power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ if power_off != None and open_power != None:
+ if power_off == 1 or open_power == 0:
return
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
if fall_down != None:
if fall_down != 0:
return
- self.KeyCall1_status = int(args[1])
- if self.KeyCall1_status == 0:
- self.KeyCall1_status = 1
+ self.KeyCall2_status = int(args[1])
+ if self.KeyCall2_status == 0:
+ self.KeyCall2_status = 1
else:
- self.KeyCall1_status = 0
+ self.KeyCall2_status = 0
pass
self.WeChatKey_status = self.wechatKey.read_level()
self.GPIO26_status = self.pwk_key26.read_level()
- self.KeyCall2_status = self.extint_17.read_level()
+ self.KeyCall1_status = self.extint_17.read_level()
self.sosKey_status = self.sosKey.read_level()
# EventMesh.debug_log('key19_extint_cb ',args,self.KeyCall1_status,self.GPIO26_status,self.WeChatKey_status,self.sosKey_status,self.KeyCall2_status,self.GPIO26_status) # args[0]:gpio号 args[1]:上升沿或下降沿
# EventMesh.debug_log('self.KeyCall1_status :{}',args,self.KeyCall1_status) # args[0]:gpio号 args[1]:上升沿或下降沿
- if self.WeChatKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall2_status != 0 and self.sosKey_status != 0:
- if self.KeyCall1_status == 0:#按下
- if self.Keycall1_press == 0 :
+ if self.WeChatKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall1_status != 0 and self.sosKey_status != 0:
+ if self.KeyCall2_status == 0:#按下
+ EventMesh.publish("close_wechat_btn_timer")
+ if self.Keycall2_press == 0 :
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.sosKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0
+ self.wechat_state = 0
+ self.Keycall1_count = 0
+ self.Keycall1_press = 0
+ self.Keycall1_press_count = 0
+ self.Keycall1_long_press = 0
+
self.Keycall2_count = 0
- self.Keycall2_press = 0
- self.Keycall2_press_count = 0
+ self.Keycall2_press = 1
self.Keycall2_long_press = 0
+ self.Keycall2_timer.start(100, 1, self.publish_call2key_btn_event_cb)
- self.Keycall1_count = 0
- self.Keycall1_press = 1
- self.Keycall1_long_press = 0
- self.Keycall1_timer.start(100, 1, self.publish_call1key_btn_event_cb)
+ def call2Key_press_cb(self, data):
- def call1Key_press_cb(self, data):
'''KEY2:联动屏幕右下角或返回键长按关机'''
- if self.Keycall1_press == 1 :
- self.Keycall1_count += 1
- if self.Keycall1_count >= 10*3: #长按3s
- if self.Keycall1_long_press == 0:
- self.Keycall1_long_press = 1
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.Keycall2_timer.stop()
+ self.Keycall2_count = 0
+ self.Keycall2_press = 0
+ self.Keycall2_press_count=0
+ self.Keycall2_long_press = 0
+ return
+ self.KeyCall2_status = self.extint_19.read_level()
+ if self.Keycall2_press == 1 :
+ self.Keycall2_count += 1
+ if self.Keycall2_count >= 10*3: #长按3s
+ if self.Keycall2_long_press == 0:
+ self.Keycall2_long_press = 1
flag = EventMesh.publish("get_call_state")#获取通话状态
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if fall_down != None:
EventMesh.publish("stop_led_timer")#设置参数
EventMesh.publish("call_phonebook_num",2)
return
- if self.KeyCall1_status == 1:#松开
- self.Keycall1_count = 0
- self.Keycall1_press = 0
- self.Keycall1_press_count = 0
- self.Keycall1_long_press = 0
- self.Keycall1_timer.stop()
+ if self.KeyCall2_status == 1:#松开
+ self.Keycall2_count = 0
+ self.Keycall2_press = 0
+ self.Keycall2_press_count = 0
+ self.Keycall2_long_press = 0
+ self.Keycall2_timer.stop()
return
- if self.KeyCall1_status == 1:#松开
- if self.Keycall1_count >= 1: #防抖100ms
- self.Keycall1_timer.stop()
- self.Keycall1_count = 0
- self.Keycall1_press = 0
- self.Keycall1_press_count+=1
- self.Keycall1_timer.start(500, 0, self.publish_call1Key_timeout_cb_do)#松手超时1s判断
+ if self.KeyCall2_status == 1:#松开
+ if self.Keycall2_count >= 1: #防抖100ms
+ self.Keycall2_timer.stop()
+ self.Keycall2_count = 0
+ self.Keycall2_press = 0
+ self.Keycall2_press_count+=1
+ self.Keycall2_timer.start(500, 0, self.publish_call2Key_timeout_cb_do)#松手超时1s判断
- def publish_call1Key_timeout_cb_do(self, *args, **kwargs):
- EventMesh.publish("publish_message_event_btnInfo",{"func":self.call1Key_timeout_cb,"data":0})
+ def publish_call2Key_timeout_cb_do(self, *args, **kwargs):
+ EventMesh.publish("publish_message_event_btnInfo",{"func":self.call2Key_timeout_cb,"data":0})
- def call1Key_timeout_cb(self, data):#
+ def call2Key_timeout_cb(self, data):#
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.Keycall2_timer.stop()
+ self.Keycall2_count = 0
+ self.Keycall2_press = 0
+ self.Keycall2_press_count=0
+ return
flag = EventMesh.publish("get_call_state")#获取通话状态
fall_down = EventMesh.publish("get_fall_down_state")#获取跌倒报警标识
# print("call1Key_timeout_cb",self.Keycall1_press_count,flag)
- if self.Keycall1_press_count > 1:#
+ if self.Keycall2_press_count > 1:#
if fall_down != None:
if fall_down != 0 or flag != 0:#在打电话或者跌倒报警提醒中不允许按键触发
- self.Keycall1_press_count = 0
+ self.Keycall2_press_count = 0
return
- if self.Keycall1_press_count == 3:#测试体温
- self.Keycall1_press_count = 0
+ if self.Keycall2_press_count == 3:#测试体温
+ self.Keycall2_press_count = 0
call_state = EventMesh.publish("get_call_state")
battery = EventMesh.publish("screen_get_battery")
if call_state == None:
if battery[0] != "1":#在充电得时候
EventMesh.publish("stop_led_timer")#设置参数
EventMesh.publish("set_manual_measure_mode",3)#测量体温
- elif self.Keycall1_press_count == 1:#
- self.Keycall1_press_count = 0
+ elif self.Keycall2_press_count == 1:#
+ self.Keycall2_press_count = 0
EventMesh.publish("stop_led_timer")#设置参数
call_state = EventMesh.publish("get_call_state")
if call_state == 2:#电话拨进需要接听
return
EventMesh.publish("play_battery_level_value")#播放当前电量
- self.Keycall1_press_count = 0
+ self.Keycall2_press_count = 0
def pwk_extint_cb(self,args):#侧边按键
# self.GPIO26_status = self.pwk_key26.read_level()
-
- power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
return
flag = EventMesh.publish("get_call_state")#获取通话状态
fall_down = EventMesh.publish("get_fall_down_state")#获取跌倒报警标识
# self.GPIO26_status = ~args[1]
# EventMesh.debug_log('### GPIO26_status {} self.GPIO26_status :{}'.format(args,self.GPIO26_status)) # args[0]:gpio号 args[1]:上升沿或下降沿
if self.WeChatKey_status != 0 and self.KeyCall1_status != 0 and self.sosKey_status != 0 and self.KeyCall2_status != 0:
- # if self.sosKey_status != 0 and self.WeChatKey_status != 0:
if self.GPIO26_status == 0:#按下
+ EventMesh.publish("close_wechat_btn_timer")
if self.pwkey_press == 0 :
self.aud.stop() #播放声音
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0
+ self.wechat_state = 0
self.pwkey_press = 1
self.pwkey_count = 0
+ self.led_state = 0
self.Keycall1_count = 0
self.Keycall1_press = 0
def pwKey_press_cb(self, data):
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.pwkey_timer.stop()
+ self.pwkey_count = 0
+ self.pwkey_press = 0
+ self.led_state = 0
+ self.pwKey_press_count=0
+ return
'''KEY2:联动屏幕右下角或返回键长按关机'''
+ self.GPIO26_status = self.pwk_key26.read_level()
+
if self.pwkey_press == 1 :
self.pwkey_count += 1
if self.pwkey_count > 5:
except Exception as e:
usys.print_exception(e)
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.pwkey_timer.stop()
+ self.pwkey_count = 0
+ self.pwkey_press = 0
+ self.led_state = 0
+ self.pwKey_press_count=0
+ return
+
if self.pwKey_press_count >= 1:
self.pwKey_press_count = 0
- # EventMesh.debug_log("pwKey_timeout_cb:self.pwKey_press_count >= 1")
+ # flag = EventMesh.publish("get_call_state")
+ # if flag != 2:#如果是电话拨出去或者不在打电话中都可以执行
+ # EventMesh.publish("stop_led_timer")#设置参数
+ # if flag == 1:#如果是sos电话拨出去
+ # sos_flag = EventMesh.publish("get_sos_flag")
+ # if sos_flag == 1:
+ # EventMesh.publish("set_sos_flag",0)
+ # EventMesh.publish("set_sos_num",0)
+ # EventMesh.publish("set_hangup_mode",0)
+ # EventMesh.publish("close_hr_sop2")#
+ # flag = EventMesh.publish("get_call_state")
+ # # if flag == 0 or flag == 2:#在拨出去或者通话中就不播报入网成功的语音
+ # if flag != 1:#在拨出去或者通话中就不播报入网成功的语音
+ # EventMesh.publish("set_sim_mode")#
+ # EventMesh.publish("dialing_out_event")#电话呼叫中voiceCall.callEnd()
+
flag = EventMesh.publish("get_call_state")
- if flag != 2:#如果是电话拨出去或者不在打电话中都可以执行
+ if flag != 2:
EventMesh.publish("stop_led_timer")#设置参数
EventMesh.publish("dialing_out_event")#电话呼叫中voiceCall.callEnd()
def sosKey_extint_cb(self,args):
power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off == 1:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ if power_off != None and open_power != None:
+ if power_off == 1 or open_power == 0:
return
self.sosKey_status = int(args[1])
if self.sosKey_status == 0:
if self.WeChatKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall1_status != 0 and self.KeyCall2_status != 0:
if self.sosKey_status == 0:#按下
EventMesh.publish("close_falldown_alarm_event")#关闭跌倒报警提醒事件
+ EventMesh.publish("close_wechat_btn_timer")
if self.sosKey_press == 0 :
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count=0#微聊键
def sosKey_press_cb(self, data):
'''KEY2:联动屏幕右下角或返回键长按关机'''
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.sosKey_timer.stop()
+ self.sosKey_count = 0
+ self.sosKey_press = 0
+ self.sosKey_long_press = 0
+ self.sosKey_press_count = 0
+ return
+ self.sosKey_status = self.sosKey.read_level()
if self.sosKey_press == 1 :
# if self.sosKey_count <= 2:
# if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#未联网不需要录音
self.sosKey_timer.stop()
self.sosKey_count = 0
self.sosKey_press = 0
+ self.sosKey_long_press = 0
self.sosKey_press_count+=1
self.sosKey_timer.start(500, 0, self.publish_sosKey_timeout_cb_do)#松手超时1s判断
def publish_sosKey_timeout_cb_do(self, *args, **kwargs):
# 4、短按六次,播报IMEI号
# 5、短按十次,解绑APP,同时恢复出厂设置
def sosKey_timeout_cb(self, data):#
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.sosKey_timer.stop()
+ self.sosKey_count = 0
+ self.sosKey_press = 0
+ self.sosKey_long_press = 0
+ self.sosKey_press_count = 0
+ return
if NEW_ENABLE == 1:#旧的按键定义
# EventMesh.debug_log("sosKey_press_count!!!!!!!!!!!!!! ",self.sosKey_press_count)
flag = EventMesh.publish("get_call_state")#获取通话状态
def wechatKey_extint_cb(self,args):
power_off = EventMesh.publish("get_power_off_state")#获取关机标识
- if power_off != None:
- if power_off != 0:
- return
open_power = EventMesh.publish("get_power_on_state")#获取开机标识
- if open_power != None:
- if open_power == 0:
+ if power_off != None and open_power != None:
+ if power_off != 0 or open_power == 0:
return
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if fall_down != None:
# if self.sosKey_status != 0 and self.GPIO26_status != 0:
if self.sosKey_status != 0 and self.GPIO26_status != 0 and self.KeyCall1_status != 0 and self.KeyCall2_status != 0:
if self.WeChatKey_status == 0:#按下
+
if self.wechatKey_press == 0:
self.wechatKey_timer.stop()
self.pwkey_timer.stop()
self.pwkey_press = 0
self.pwkey_count = 0
+ self.led_state = 0
self.pwKey_press_count=0
self.wechatKey_press = 1
self.led_state = 0
self.wechatKey_count = 0
- self.wechat_state = 1
+ self.wechat_state = 0
self.Keycall1_count = 0
self.Keycall1_press = 0
self.Keycall2_long_press = 0
self.wechatKey_timer.start(100, 1, self.publish_wechat_btn_event_cb)
+ else:
+ EventMesh.publish("close_wechat_btn_timer")
def close_wechat_btn_timer(self,event,*argc):
tmp = EventMesh.publish("get_wechat_time")#获取微聊时间戳
self.wechatKey_count = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0
+ self.wechat_state = 0
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
time_sec = tmp[1]
def wechatKey_press_cb(self,data):
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.wechatKey_timer.stop()
+ self.wechatKey_count = 0
+ self.wechatKey_press = 0
+ self.wechat_state = 0
+ self.wechatKey_press_count=0
+ return
+ self.WeChatKey_status = self.wechatKey.read_level()
wechat_time = 0
tmp = None
time_sec = 0
if self.wechatKey_press == 1 :#是否按下
tmp = EventMesh.publish("get_wechat_time")#获取微聊时间戳
self.wechatKey_count += 1
- if self.wechatKey_count >= 10: #长按1s进入微聊录音
+ if self.wechatKey_count >= 15: #长按1s进入微聊录音
flag = EventMesh.publish("get_call_state")
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
if flag != None:
if flag == 0 and fall_down == 0:
if self.WeChatKey_status == 0:
if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#未联网不需要录音
- if self.wechat_state == 1:#按下超过s开始录音
+ if self.wechat_state == 0:#按下超过s开始录音
EventMesh.publish("start_wechat_record")#开始录音
- self.wechat_state = 0
+ self.wechat_state = 1
else:
self.wechat_state = 0
self.wechatKey_timer.stop()
return
if self.WeChatKey_status == 0:#未松手超过15s啧停止录音
- if self.wechat_state == 0:
+ if self.wechat_state == 1:
if tmp != None:
if tmp[0] != 0:
time_sec = tmp[1]
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count=0
return
else:
if self.WeChatKey_status == 1:
- if self.wechat_state == 0:#如果按下时长超过1s且小于长按的时间也认为是录微聊
+ if self.wechat_state == 1:#如果按下时长超过1s且小于长按的时间也认为是录微聊
if tmp != None:
if tmp[0] != 0:
time_sec = tmp[1]
if wechat_time >= 15:
wechat_time = 15
+
EventMesh.publish("send_wechat_record",wechat_time)#发送录音文件内容
self.wechatKey_timer.stop()
-
+ self.wechat_state = 0
self.wechatKey_count = 0
self.wechatKey_press = 0
self.wechatKey_press_count=0
else:
self.wechatKey_timer.stop()
self.wechatKey_count = 0
+ self.wechat_state = 0
self.wechatKey_press = 0
self.wechatKey_press_count = 0
+ return
if self.WeChatKey_status == 1:#松开
if self.wechatKey_count >= 1: #防抖100ms
self.wechatKey_timer.stop()
self.wechatKey_count = 0
self.wechatKey_press = 0
+ self.wechat_state = 0
self.wechatKey_press_count+=1
self.wechatKey_timer.start(500, 0, self.publish_wechatKey_btn_event_cb)#松手超时1s判断
# 8、短按八次,拨打通信录号码八
def wechatKey_timeout_cb(self,data):#微聊键
+ open_power = EventMesh.publish("get_power_on_state")#获取开机标识
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power != None and open_power_off != None:
+ if open_power == 0 or open_power_off == 1:
+ self.wechatKey_timer.stop()
+ self.wechatKey_count = 0
+ self.wechatKey_press = 0
+ self.wechat_state = 0
+ self.wechatKey_press_count=0
+ return
+
if NEW_ENABLE == 1: #旧的按键定义微聊键
flag = EventMesh.publish("get_call_state")#在通话或者电话拨进 或者拨出不允许寻找设备
fall_down = EventMesh.publish("get_fall_down_state")#跌倒报警标识
RESET_SEND = "RESET_SEND"
RESET_RECV = "RESET_RECV"
+
+ REMIND_CH_SIT_SEND = "REMIND_CH_SIT_SEND"
+ REMIND_CH_SIT_RECV = "REMIND_CH_SIT_RECV"
+
+ SCREEN_SHOW_SEND = "SCREEN_SHOW_SEND"
+ SCREEN_SHOW_RECV = "SCREEN_SHOW_RECV"
class EVENT:
if get_hr_state == 1 or get_spo2_state == 1 or temp_state == 1 \
or bp_state == 1 or bg_state == 1:
if self.working_led_mode != led_mode.HEALTH_LED_MODE:#如果不在亮微聊模式需要亮微聊模式
- # EventMesh.debug_log("set_hr_blood_led!!!!!!!!!!")
+ EventMesh.debug_log("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.working_led_mode = led_mode.HEALTH_LED_MODE
return
else:
- # EventMesh.debug_log("set_hr_blood_led stop!!!!!!!!!!")
+ EventMesh.debug_log("set_hr_blood_led stop!!!!!!!!!!")
return
else:# 0 2都认为其他模式灯亮 不是测试健康灯
self.working_led_mode = led_mode.OTHER_MEASURE_MODE
if open_power != None:
if open_power == 0:
return
+ open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
+ if open_power_off != None:
+ if open_power_off == 1:
+ return
usb_in = EventMesh.publish("get_usb")#
open_power_off = EventMesh.publish("get_power_off_state")#获取开机标识
if open_power_off != None:
app.append_manager(mgr.sosInfoCallManager())
app.append_manager(mgr.testSmsSetIPManager())
app.append_manager(mgr.deleteSmsManager())
+ app.append_manager(mgr.schoolclassManager())
EventMesh.debug_log("init21:{}".format(utime.localtime()))
pcr.add_support(protocol.SLEEPTIME_ProtoCol())
pcr.add_support(protocol.FACTORY_ProtoCol())
pcr.add_support(protocol.RESET_ProtoCol())
+ pcr.add_support(protocol.REMIND_CH_SIT_ProtoCol())
+ pcr.add_support(protocol.SCREEN_SHOWProtoCol())
sm = protocol.SockManager()
sm.add_support_resolver(pcr)
# EventMesh.debug_log("number:{} number_len :{}".format(number,len(number)))
EventMesh.publish("set_sos_num",num)
if len(number) == 1:
- EventMesh.publish("set_callnumer_cb",number[0])
- EventMesh.debug_log("phone 1")
+ if len(number[0]) != 0:
+ EventMesh.publish("set_callnumer_cb",number[0])
+ EventMesh.debug_log("phone 1")
elif len(number) == 2:
if num == 1 or num == 3:
- EventMesh.debug_log("phone 2")
- EventMesh.publish("set_callnumer_cb",number[1])
+ if len(number[1]) != 0:
+ EventMesh.debug_log("phone 2")
+ EventMesh.publish("set_callnumer_cb",number[1])
elif num == 2:
- EventMesh.debug_log("phone 3")
- EventMesh.publish("set_callnumer_cb",number[0])
+ if len(number[0]) != 0:
+ EventMesh.debug_log("phone 3")
+ EventMesh.publish("set_callnumer_cb",number[0])
elif len(number) == 3:
if num == 1 or num == 4:
- EventMesh.publish("set_callnumer_cb",number[1])
- EventMesh.debug_log("phone 4")
+ if len(number[1]) != 0:
+ EventMesh.publish("set_callnumer_cb",number[1])
+ EventMesh.debug_log("phone 4")
elif num == 2 or num == 5:
- EventMesh.debug_log("phone 5")
- EventMesh.publish("set_callnumer_cb",number[2])
+ if len(number[2]) != 0:
+ EventMesh.debug_log("phone 5")
+ EventMesh.publish("set_callnumer_cb",number[2])
elif num == 3:
- EventMesh.debug_log("phone 6")
- EventMesh.publish("set_callnumer_cb",number[0])
+ if len(number[0]) != 0:
+ EventMesh.debug_log("phone 6")
+ EventMesh.publish("set_callnumer_cb",number[0])
WL_timer = osTimer()
def WL_timer_cb(*args):
get_call = EventMesh.publish("get_call_state")
def get_imei(self, topic, msg):
if not self.imei:
self.imei = modem.getDevImei()
+ # self.imei = "860132060128634" #860132060128634
return self.imei
def get_cid(self, topic, msg):
EventMesh.publish("dial_out_call_center_cb",None)#电话拨出去
else:
EventMesh.publish("dial_out_call_center_cb",None)#电话拨出去
- EventMesh.debug_log("call_phonebook_one_call name:{} key_tmp:{} len:{}".format(name,key_tmp,len(self.read_phonebook)))
+ EventMesh.debug_log("call_phonebook_call name:{} msg:{}".format(len(self.read_phonebook),msg))
def call_phonebook_one_call(self, event, msg):
name = ''
EventMesh.subscribe("set_callnumer_cb", self.set_callnumer_cb)#延时回调
+ EventMesh.subscribe("close_call_time",self.close_call_time)
+
EventMesh.subscribe("set_hangup_mode", self.set_hangup_mode)
EventMesh.subscribe("get_hangup_mode", self.get_hangup_mode)#获取挂断方式 是对方挂断 还是手表按键主动挂断
if number != None:
if len(number) > 0:
+ self.call_timer.stop()
EventMesh.publish("save_phonename",number[0])
EventMesh.publish("save_phonenum",number[0])
EventMesh.publish("set_sos_num",0)
EventMesh.publish("sos_out_call_center_cb",None)#电话拨出去
def set_callnumer_cb(self, event, msg):
- self.callnumer = msg
- self.call_timer.start(5000, 0, self.call_timer_cb)#延迟10S 继续拨打
+ if self.sos_flag == 1:
+ self.callnumer = msg
+ self.call_timer.start(5000, 0, self.call_timer_cb)#延迟10S 继续拨打
def call_timer_cb(self, *args, **kwargs):
if self.sos_flag == 1:
phone_num = EventMesh.publish("get_phonenum")
EventMesh.publish("sos_out_call_center_cb",phone_num)#电话拨出去
+ def close_call_time(self, event, msg):
+ self.call_timer.stop()
def get_sos_flag(self, event, msg):
return self.sos_flag
self.rtc.enable_alarm(0)
+class schoolclassManager(Abstract):#
+ def __init__(self):
+ # ['火星情报局', '一年级二班', '柠檬茶']
+ self.school_name = ''
+ self.class_name = ''
+ self.full_name = ''
+ tmp_data = EventMesh.publish("get_storage_config","school_name")
+ if tmp_data != None:
+ self.school_name = tmp_data
+ tmp_data = EventMesh.publish("get_storage_config","class_name")
+ if tmp_data != None:
+ self.class_name = tmp_data
+ tmp_data = EventMesh.publish("get_storage_config","full_name")
+ if tmp_data != None:
+ self.full_name = tmp_data
+
+
+
+ def post_processor_after_instantiation(self):
+ EventMesh.subscribe("set_schoolname", self.set_school_name)#
+ EventMesh.subscribe("get_schoolname", self.get_school_name)
+
+ EventMesh.subscribe("set_classname", self.set_classname)#
+ EventMesh.subscribe("get_classname", self.get_classname)
+
+ EventMesh.subscribe("set_fullname", self.set_full_name)#
+ EventMesh.subscribe("get_fullname", self.get_full_name)
+
+ def set_school_name(self, event, msg):
+ if msg != None:
+ if len(msg) != 0:
+ self.school_name = str(msg)
+ EventMesh.publish("set_storage_config",["school_name",str(msg)])
+
+
+ def get_school_name(self, event, msg):
+ if self.school_name:
+ return self.school_name
+ else:
+ return None
+
+ def set_classname(self, event, msg):
+ if msg != None:
+ if len(msg) != 0:
+ self.class_name = str(msg)
+ EventMesh.publish("set_storage_config",["class_name",str(msg)])
+
+
+ def get_classname(self, event, msg):
+ if self.class_name:
+ return self.class_name
+ else:
+ return None
+ def set_full_name(self, event, msg):
+ if msg != None:
+ if len(msg) != 0:
+ self.full_name = str(msg)
+ EventMesh.publish("set_storage_config",["full_name",str(msg)])
+
+ def get_full_name(self, event, msg):
+ if self.full_name:
+ return self.full_name
+ else:
+ return None
\ No newline at end of file
EventMesh.publish(constants.PROTOCOL.RESET_SEND)
Power.powerRestart()
+# 平台发送:
+# [XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_SIT,时间间隔(分钟),总开关(0为关,1为开),午间休息时段,晚间休息时段]
+# 午间/晚间休息时段格式为:开始时间(hh:mm)-结束时间(hh:mm)-开关(0为关,1为开),例如 12:00-15:00-1。
+# 久坐默认值为20分钟。
+# 午间和晚间默认值,午间12:00-14:00,晚上20:00-07:00。
+# 实例:
+# [XT*334588000000156*0026*REMIND_CH_SIT,20,0,12:00-15:00-1,20:00-07:00-1]
+# 终端回复:
+# [XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_SIT]
+# 实例:[XT*334588000000156*000E*REMIND_CH_SIT]
+class REMIND_CH_SIT_ProtoCol(ProtoCol):#久坐提醒
+ """
+ 实例:[XT*334588000000156*0008*REMIND_CH_SIT]
+ 终端回复
+ [XT*YYYYYYYYYYYYYYY*LEN*REMIND_CH_SIT]
+ 实例:[XT*334588000000156*0006*REMIND_CH_SIT]
+ """
+ TYPE = "REMIND_CH_SIT"
+
+ def send(self, event, msg):
+ send_data = EventMesh.publish("get_new_pid")+"*%s*000d*REMIND_CH_SIT"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ EventMesh.debug_log("REMIND_CH_SIT:send:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+
+ def recv(self, event, msg):
+
+ EventMesh.debug_log("REMIND_CH_SIT!!!!!!!!!")
+ # msg = msg[1:-1]
+ # msg_tmp = msg.decode('ascii')
+ # msg_data = msg_tmp.split(',')
+ # EventMesh.debug_log("WLKEY_ProtoCol".format(msg_data[1]))
+ # EventMesh.publish("set_storage_config",["WLKEY",msg_data[1]])
+
+ EventMesh.publish(constants.PROTOCOL.REMIND_CH_SIT_SEND)
+
+# 平台发送:
+# [XT*YYYYYYYYYYYYYYY*LEN*SCREEN_SHOW,参数内容]
+# 实例:[XT*334588000000156*0016*SCREEN_SHOW,00000000000]
+# 参数内容用 unicode 编码呈现,设备收到后需解码。
+# 解码后的参数内容可能有多个参数,不同参数用逗号分隔,设备自己决定如何在屏幕中显示这些参数。比如 "SCREEN_SHOW,深圳第一中学,三年1班、张三"
+# 终端回复:
+# [XT*YYYYYYYYYYYYYYY*LEN*SCREEN_SHOW]
+# 实例:[XT*334588000000156*000B*SCREEN_SHOW]
+
+class SCREEN_SHOWProtoCol(ProtoCol):
+ """开屏显示"""
+ TYPE = "SCREEN_SHOW"
+ def send(self, event, msg):
+ # [XT*334588000000156*0006*SILENCETIME2]
+ send_data = self.PID+"*%s*000B*SCREEN_SHOW"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ # print("KEYBRD:data:%s"%(data))
+ # print("KEYBRD!!!!!!!!!!!!!",msg)
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_tmp = msg_tmp.split(',')
+ msg_tmp = msg_tmp[1:]
+ msg_tmp = msg_tmp[0]
+ print("screen_school_data msg",msg)
+
+ j = 0
+ i = 0
+ videobook_old = {}
+ videobook_name_tmp = UnicodeHexStr_To_Utf8Str(msg_tmp)
+ lst = videobook_name_tmp.split(",")
+ print("lst data",lst)
+
+ # 0 1 2 3
+ screen_school_data = ""#学校
+ screen_class_data = ""#班级
+ screen_fullname_data = ""#姓名
+ if len(lst) != 0:
+ count = len(lst)
+ if count > 3:
+ count = 3
+ for i in range(count):
+ if i == 0:
+ screen_school_data = lst[0]
+ EventMesh.publish("set_schoolname", screen_school_data)#
+ elif i == 1:
+ screen_class_data = lst[1]
+ EventMesh.publish("set_classname", screen_class_data)#
+ else:
+ screen_fullname_data= lst[2]
+ EventMesh.publish("set_fullname", screen_fullname_data)#
+
+ # EventMesh.publish("update_screen_show")#更新开屏显示
+
+ print("screen_school_data!!!:",screen_school_data,screen_class_data,screen_fullname_data)
+
+ EventMesh.publish(constants.PROTOCOL.SCREEN_SHOW_SEND)
+
+
class ProtoColResolver(object):
def __init__(self):
self.protocol_list = []
self.menu_id = id
def done_left_to_right(self):
id = MainMenu2_til.get_tile_act().get_child(0).get_text()
- print("done_left_to_right:ID{} menu_id{}".format(id,self.menu_id))
+ # print("done_left_to_right:ID{} menu_id{}".format(id,self.menu_id))
if id == "0":
MainMenu2_til.set_tile_id(MainMenu2_num-2,0,lv.ANIM.OFF)
elif self.menu_id != '2' and id == '1':
self.menu_id = id
def done_right_to_left(self):
id = MainMenu2_til.get_tile_act().get_child(0).get_text()
- print("done_right_to_left:ID{} menu_id{}".format(id,self.menu_id))
+ # print("done_right_to_left:ID{} menu_id{}".format(id,self.menu_id))
if id == "0":
MainMenu2_til.set_tile_id(0,0,lv.ANIM.OFF)
elif (self.menu_id != str(MainMenu2_num-2) ) and id == str(MainMenu2_num-1) :