return
self.aud.stopPlayStream()
+
self.timer.stop()
self.sos_timer2.stop()
self.sos_timer1.stop()
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
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)
elif msg == 3:
flag = EventMesh.publish("get_call_state")
date_tmp = utime.localtime()
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)#不需要关机铃声
def fun(self,*argc):
def power_on_audio_cb(self, msg):
self.power_on_flag = 1
# EventMesh.debug_log("power_on_audio_cb")
- self.aud.play(1,0,'U:/static/R_POWER_OFF_1.mp3')
+ power_state = EventMesh.publish("get_storage_config","power_state")
+ if power_state == None:
+ power_state = 0
+ print("power_state",power_state)
+ if power_state <= 0:
+ 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)
EventMesh.publish("set_led_time_arg",[1,2,6*8,led_mode.FLASH_LIGHT_GREEN,6,3,led_mode.OTHER_MEASURE_MODE])#測量成功
if flag == 0 and self.fall_flag == 0:#电话通话中 或者呼叫中挂断中断
if self.press_btn == 0:
self.press_btn = 1
+ audio_state = EventMesh.publish("get_audio_state")
+ if audio_state == 1:
+ self.aud.stop()
EventMesh.publish("close_timer_all")#
EventMesh.publish("set_led_time_arg",[1,1,160,led_mode.LONG_LIGHT_GREEN,4,2,led_mode.WECHAT_LED_MODE])#測量成功
# EventMesh.publish("set_led_time_arg",[1000,1000,1,led_mode.LONG_LIGHT_GREEN,led_mode.OPEN_LONG_LIGHT_MODE,led_mode.WECHAT_LED_MODE])#測量成功
""""隔天清步数"""
- hour = 0
- min = 0
- hour = date_tmp[3]
- min = date_tmp[4]
+
+ data = RTC().datetime()
+
+ hour = data[4]
+ min = data[5]
+
+ cur_month = int(data[1])
+ cur_day = int(data[2])
+ cur_year = int(data[0])
+
old_Timesec = EventMesh.publish("get_old_time_data")
+ next_alarm_time = utime.localtime(int(old_Timesec))
old_step_state = EventMesh.publish("get_old_step_data")
+ # EventMesh.debug_log("hour:{} {} cur_month:{} {} next_alarm_time:{} old_Timesec:{}".format(hour,min,cur_month,cur_day,next_alarm_time,old_Timesec))
if old_step_state == None:
old_step_state = 0
# EventMesh.debug_log("old_Timesec",old_Timesec)
if old_Timesec != None and old_step_state != None:
- data = RTC().datetime()
- hour = data[4]
- min = data[5]
- next_alarm_time = utime.localtime(int(old_Timesec))
- # EventMesh.debug_log("data[5]:{} {} next_alarm_time:{} old_Timesec:{}".format(data[1],data[2],next_alarm_time,old_Timesec))
- month = next_alarm_time[1]
+ month = next_alarm_time[1] #00:00
day = next_alarm_time[2]
- if month != data[1] or day != data[2]:
- if old_step_state == 0:
+ year = next_alarm_time[0]
+ if month != cur_month or day != cur_day or year != cur_year:#年 月 日只要其中一个都不一样就清零
+ step = EventMesh.publish("get_old_step_value")
+ EventMesh.publish("set_old_time_data",time_tmp)
+ self.gsensor.reset_step()
+ EventMesh.publish("set_old_step_value",0)
+
+ hr = EventMesh.publish("get_old_hr_data")
+ if hr != 0:
+ EventMesh.publish("set_old_hr_data", 0)
+
+ spo2 = EventMesh.publish("get_old_spo2_data")
+ if spo2 != 0:
+ EventMesh.publish("set_old_spo2_data", 0)
+ EventMesh.publish("set_old_step_data",[1,time_tmp])
+ EventMesh.debug_log("clear step1111")
+ else:
+ EventMesh.publish("set_old_step_data",[4,time_tmp])
+
+
+ if hour == 23:#清步数23:59
+ if min <= 59 and min >= 58:#58 59
+ clear_step_state = EventMesh.publish("get_old_step_data")
+ if clear_step_state == None:
+ clear_step_state = 0
+ if self.clear_step == 0:
+ self.clear_step = 1
step = EventMesh.publish("get_old_step_value")
- if step > 0:
- self.gsensor.reset_step()
- EventMesh.publish("set_old_step_value",0)
-
- hr = EventMesh.publish("get_old_hr_data",)
+ EventMesh.publish("set_old_time_data",time_tmp)
+ self.gsensor.reset_step()
+ EventMesh.publish("set_old_step_value",0)
+
+ hr = EventMesh.publish("get_old_hr_data")
if hr != 0:
EventMesh.publish("set_old_hr_data", 0)
spo2 = EventMesh.publish("get_old_spo2_data")
if spo2 != 0:
EventMesh.publish("set_old_spo2_data", 0)
- EventMesh.publish("set_old_time_data",time_tmp)
- EventMesh.publish("set_old_step_data",1)#清一次
- if hour == 23:#清步数
- if min <= 59 and min >= 58:#58 59
- clear_step_state = EventMesh.publish("get_old_step_data")
- if clear_step_state == None:
- clear_step_state = 0
- if self.clear_step == 0 :
- if clear_step_state == 0:
- step = EventMesh.publish("get_old_step_value")
- EventMesh.publish("set_old_time_data",time_tmp)
- EventMesh.publish("set_old_step_data",1)
- if step > 0:
- EventMesh.publish("set_old_step_value",0)
- self.gsensor.reset_step()
- hr = EventMesh.publish("get_old_hr_data")
- if hr != 0:
- EventMesh.publish("set_old_hr_data", 0)
-
- spo2 = EventMesh.publish("get_old_spo2_data")
- if spo2 != 0:
- EventMesh.publish("set_old_spo2_data", 0)
- self.clear_step = 1
+ EventMesh.publish("set_old_step_data",[2,time_tmp])
+ EventMesh.debug_log("clear step2222")
else:
- if self.clear_step == 1:
- self.clear_step = 0
- else:
- if self.clear_step == 1:
+ EventMesh.publish("set_old_step_data",[3,time_tmp])
self.clear_step = 0
+ else:
+ self.clear_step = 0
"""电量小于20% 5分钟提醒一次"""
get_low_btn = EventMesh.publish("get_low_bat_btn")#
def __init__(self):
self.time_sec = 0
self.time_step = 0
+ self.step_second = 0
tmp_data = EventMesh.publish("get_storage_config","old_time")
if tmp_data !=None :
self.time_sec = tmp_data
- tmp_data = EventMesh.publish("get_storage_config","old_step")
+ tmp_data = EventMesh.publish("get_storage_config","clear_state")
if tmp_data !=None :
- self.time_step = tmp_data
+ self.time_step = tmp_data[0]
+ self.step_second = tmp_data[1]
+
+
def post_processor_after_instantiation(self):
EventMesh.subscribe("get_old_time_data", self.get_old_time_data)
def get_old_time_data(self, event, msg):
return self.time_sec
- def get_old_step_data(self, event, msg):
- return self.time_step
+
def set_old_time_data(self, event, msg):
self.time_sec = msg
EventMesh.publish("set_storage_config",["old_time",msg])
def set_old_step_data(self, event, msg):
- self.time_sec = msg
- EventMesh.publish("set_storage_config",["old_step",msg])
+ self.time_step = msg[0]
+ self.step_second = msg[1]
+ EventMesh.publish("set_storage_config",["clear_state",msg])
-
+ def get_old_step_data(self, event, msg):
+ return [self.time_step,self.step_second]
day = next_alarm_time[2]
if month != data[1] or day != data[2]:
step = EventMesh.publish("get_old_step_value")
- if step > 0:
- self.gsensor.reset_step()
- EventMesh.publish("set_old_step_value",0)
+ EventMesh.publish("set_old_time_data",time_tmp)
+ self.gsensor.reset_step()
+ EventMesh.publish("set_old_step_value",0)
hr = EventMesh.publish("get_old_hr_data",)
if hr != 0:
spo2 = EventMesh.publish("get_old_spo2_data")
if spo2 != 0:
EventMesh.publish("set_old_spo2_data", 0)
- EventMesh.publish("set_old_time_data",time_tmp)
+
- if hour == 0:#清步数
- if min <= 1:
+ if hour == 23:#清步数
+ if min <= 59 and min >= 58:
if self.clear_step == 0:
+ self.clear_step = 1
step = EventMesh.publish("get_old_step_value")
EventMesh.publish("set_old_time_data",time_tmp)
- if step > 0:
- EventMesh.publish("set_old_step_value",0)
- self.gsensor.reset_step()
+ EventMesh.publish("set_old_step_value",0)
+ self.gsensor.reset_step()
hr = EventMesh.publish("get_old_hr_data")
if hr != 0:
EventMesh.publish("set_old_hr_data", 0)
spo2 = EventMesh.publish("get_old_spo2_data")
if spo2 != 0:
EventMesh.publish("set_old_spo2_data", 0)
- self.clear_step = 1
+
else:
- if self.clear_step == 1:
- self.clear_step = 0
- else:
- if self.clear_step == 1:
self.clear_step = 0
+ else:
+ self.clear_step = 0
"""电量小于20% 5分钟提醒一次"""
get_low_btn = EventMesh.publish("get_low_bat_btn")#