['0506',"运动测量心率暂停或结束"],\r
['0507',"底层检测心率"],\r
['0508',"底层检测心率结束"],\r
+ ['0509',"心率结果未佩戴"],\r
+ ['050a',"心率结果无效值"],\r
+ ['050b',"检测成功"],\r
['0601',"开启佩戴检测"],\r
['0602',"关闭佩戴检测"],\r
['0701',"主动检测血氧"],\r
worksheet = workbook.add_worksheet("runtime_log")\r
worksleepdata = workbook.add_worksheet("sleepdata")\r
workvoltage = workbook.add_worksheet("voltage")\r
+workvoltage_time = workbook.add_worksheet("voltage_time")\r
+headings = ['time', 'ble连接','ble未连接','APP_ble_write_count','watch_reply_count','震动次数','屏幕亮','屏幕灭','心率测量时间','电压变化']\r
+workvoltage_time.write_row('A1', headings)\r
\r
with open(txtname,"rb+")as file:\r
data_1 = file.read(2)\r
i=0\r
j=0\r
z=0\r
+ k=1\r
sys_sleep_last=-1\r
sys_sleep_last_tick=0\r
sys_sleep_tick=0\r
fist_voltage=0.0\r
last_voltage=0.0\r
lats_time=0\r
+\r
+ last_ble_connect=0\r
+ ble_connect_state_updata_time=0\r
+ ble_no_connect_time=0\r
+ ble_connect_time=0\r
+\r
+ APP_send_coutn=0\r
+ watch_reply_count=0\r
+\r
+ motor_coutn=0\r
+\r
+ last_lcd_state=0\r
+ lcd_state_updata_time=0\r
+ lcd_no_screen_time=0\r
+ lcd_screen_time=0\r
+ \r
+ heart_state=0\r
+ heart_state_updata_time=0\r
+ heart_no_screen_time=0\r
+ heart_screen_time=0\r
+\r
while data_1:\r
\r
\r
f_out.write(l[1])\r
worksheet.write(i, 0, l[1])\r
break\r
- \r
+ data_2_int=int(data_2_bin,16)\r
+\r
+ if data_1_bin=='0107':\r
+ APP_send_coutn+=1\r
+ if data_1_bin=='0109':\r
+ watch_reply_count+=1\r
\r
+ if data_1_bin=='0c01':\r
+ motor_coutn+=1\r
+ \r
if data_1_bin[:2]=='13':\r
id=int(data_1_bin[2:],16)\r
if id<len(PMID_list):\r
temp_str="投票ID: "+ data_1_bin[2:]\r
f_out.write(temp_str)\r
worksheet.write(i, 0, temp_str)\r
+\r
+ if (data_1_bin =='0103') : #ble连接\r
+ if last_ble_connect ==0:\r
+ ble_no_connect_time+=(data_2_int-ble_connect_state_updata_time)\r
+ ble_connect_state_updata_time=data_2_int\r
+ last_ble_connect=1\r
+ print("0->1 ble连接")\r
+\r
+ if (data_1_bin =='0104') : #断连\r
+ if last_ble_connect ==1:\r
+ ble_connect_time+=(data_2_int-ble_connect_state_updata_time)\r
+ ble_connect_state_updata_time=data_2_int\r
+ last_ble_connect=0\r
+ # print("0->1 ble断连")\r
+\r
+ if (data_1_bin =='0801') : #亮屏\r
+ if last_lcd_state ==0:\r
+ lcd_no_screen_time+=(data_2_int-lcd_state_updata_time)\r
+ lcd_state_updata_time=data_2_int\r
+ last_lcd_state=1\r
+ # print("0->1 亮屏")\r
+\r
+ if (data_1_bin =='0802') : #灭屏\r
+ if last_lcd_state ==1:\r
+ lcd_screen_time+=(data_2_int-lcd_state_updata_time)\r
+ lcd_state_updata_time=data_2_int\r
+ last_lcd_state=0\r
+ # print("0->1 灭屏")\r
+\r
+ # ['0507',"底层检测心率"],\r
+ # ['0508',"底层检测心率结束"],\r
+ # heart_state=0\r
+ # heart_state_updata_time=0\r
+ # heart_no_screen_time=0\r
+ # heart_screen_time=0\r
+ if (data_1_bin =='0507') : #开始检测\r
+ if heart_state ==0:\r
+ heart_no_screen_time+=(data_2_int-heart_state_updata_time)\r
+ heart_state_updata_time=data_2_int\r
+ heart_state=1\r
+\r
+ if (data_1_bin =='0508') : #结束检测\r
+ if heart_state ==1:\r
+ heart_screen_time+=(data_2_int-heart_state_updata_time)\r
+ print("检测时间",data_2_int-heart_state_updata_time)\r
+ heart_state_updata_time=data_2_int\r
+ heart_state=0\r
+\r
+ \r
+\r
if (data_1_bin[:1]=='f') | (data_1_bin[:1]=='e'):\r
worksheet.write(i, 0, "电压变化")\r
+ \r
f_out.write(data_1_bin)\r
f_out.write(' ')\r
f_out.write(data_2_bin)\r
f_out.write('\n')\r
- data_2_int=int(data_2_bin,16)\r
+ \r
worksheet.write(i, 1, data_1_bin)\r
worksheet.write(i, 2, data_2_int)\r
i+=1\r
now_s_sleep_flag=0\r
now_m_sleep_flag=0\r
\r
- if data_1_bin[:1]=='f':\r
- temp_str="4."+ data_1_bin[1:]\r
+\r
+ if (data_1_bin[:1]=='f' )|(data_1_bin[:1]=='e'):\r
+ if data_1_bin[:1]=='f':\r
+ temp_str="4."+ data_1_bin[1:]\r
+ else:\r
+ temp_str="3."+ data_1_bin[1:]\r
voltage=float(temp_str)\r
workvoltage.write(z, 0, voltage)\r
workvoltage.write(z, 1, data_2_int)\r
workvoltage.write(z, 2, data_2_int-lats_time)\r
workvoltage.write(z, 3, last_voltage-voltage)\r
- lats_time=data_2_int\r
-\r
z+=1\r
+ \r
\r
- last_voltage=voltage\r
- if fist_voltage==0.0:\r
- fist_voltage= voltage\r
+ workvoltage_time.write(k, 0,data_2_int)\r
+\r
+ if last_ble_connect==0:\r
+ ble_no_connect_time+=(data_2_int-ble_connect_state_updata_time)\r
+ if last_ble_connect==1:\r
+ ble_connect_time+=(data_2_int-ble_connect_state_updata_time)\r
+\r
+ \r
+ if (ble_no_connect_time+ble_connect_time):\r
+ ble_connect= ble_connect_time/(ble_no_connect_time+ble_connect_time)\r
+ else:\r
+ ble_connect=0\r
+ \r
+ if (ble_no_connect_time+ble_connect_time):\r
+ ble_no= ble_no_connect_time/(ble_no_connect_time+ble_connect_time)\r
+ else:\r
+ ble_no=0\r
+\r
+ # last_lcd_state=0\r
+ # lcd_state_updata_time=0\r
+ # lcd_no_screen_time=0\r
+ # lcd_screen_time=0\r
+\r
+ if last_lcd_state==0:\r
+ lcd_no_screen_time+=(data_2_int-lcd_state_updata_time)\r
+ if last_lcd_state==1:\r
+ lcd_screen_time+=(data_2_int-lcd_state_updata_time)\r
+\r
+ \r
+ if (lcd_no_screen_time+lcd_screen_time):\r
+ lcd_screen= lcd_screen_time/(lcd_no_screen_time+lcd_screen_time)\r
+ else:\r
+ lcd_screen=0\r
+ \r
+ if (lcd_no_screen_time+lcd_screen_time):\r
+ lcd_no_screen= lcd_no_screen_time/(lcd_no_screen_time+lcd_screen_time)\r
+ else:\r
+ lcd_no_screen=0\r
+ # heart_state=0\r
+ # heart_state_updata_time=0\r
+ # heart_no_screen_time=0\r
+ # heart_screen_time=0\r
+\r
+ if heart_state==0:\r
+ heart_no_screen_time+=(data_2_int-heart_state_updata_time)\r
+ if heart_state==1:\r
+ heart_screen_time+=(data_2_int-heart_state_updata_time)\r
+\r
+ \r
+ \r
+\r
+\r
+\r
+ # headings = ['time', 'ble连接','ble未连接','APP_ble_write_count','watch_reply_count','震动次数','屏幕亮','屏幕灭','电压变化']\r
+\r
+ workvoltage_time.write(k, 1,ble_connect)\r
+ workvoltage_time.write(k, 2,ble_no)\r
+ workvoltage_time.write(k, 3,APP_send_coutn)\r
+ workvoltage_time.write(k, 4,watch_reply_count)\r
+ workvoltage_time.write(k, 5,motor_coutn)\r
+ workvoltage_time.write(k, 6,lcd_screen)\r
+ workvoltage_time.write(k, 7,lcd_no_screen)\r
+ workvoltage_time.write(k, 8,heart_screen_time)\r
+ workvoltage_time.write(k, 9,last_voltage-voltage)\r
\r
- if data_1_bin[:1]=='e':\r
- temp_str="3."+ data_1_bin[1:]\r
- voltage=float(temp_str)\r
- workvoltage.write(z, 0, voltage)\r
- workvoltage.write(z, 1, data_2_int)\r
- workvoltage.write(z, 2, data_2_int-lats_time)\r
- workvoltage.write(z, 3, last_voltage-voltage)\r
- lats_time=data_2_int\r
\r
- z+=1\r
+ \r
+\r
+ ble_no_connect_time=0\r
+ ble_connect_time=0\r
+ ble_connect_state_updata_time=data_2_int\r
+\r
+ lcd_no_screen_time=0\r
+ lcd_screen_time=0\r
+ lcd_state_updata_time=data_2_int\r
+\r
+ heart_no_screen_time=0\r
+ heart_screen_time=0\r
+ heart_state_updata_time=data_2_int\r
+\r
+\r
+ APP_send_coutn=0\r
last_voltage=voltage\r
+ motor_coutn=0\r
+ watch_reply_count=0\r
+ lats_time=data_2_int\r
+\r
+ k+=1\r
+\r
if fist_voltage==0.0:\r
fist_voltage= voltage\r
-\r
+ \r
if coutn==0:\r
fist_tick=data_2_int\r
\r
j+=1\r
no_sys_sleep_tick+=data_2_int-sys_sleep_last_tick\r
\r
- print("0->1 睡")\r
+ # print("0->1 睡")\r
sys_sleep_last=1\r
sys_sleep_last_tick=data_2_int\r
else:\r
worksleepdata.write(j, 3, data_2_int-sys_sleep_last_tick)\r
j+=1\r
sys_sleep_tick+=data_2_int-sys_sleep_last_tick\r
- print("1->0 醒")\r
+ # print("1->0 醒")\r
sys_sleep_last=0\r
sys_sleep_last_tick=data_2_int\r
else:\r
worksleepdata.write(j, 3, data_2_int-M_sleep_last_tick)\r
j+=1\r
M_sleep_tick+=data_2_int-M_sleep_last_tick\r
- print("0->1 睡")\r
+ # print("0->1 睡")\r
M_sleep_last=1\r
M_sleep_last_tick=data_2_int\r
else:\r
worksleepdata.write(j, 3, data_2_int-M_sleep_last_tick)\r
j+=1\r
no_M_sleep_tick+=data_2_int-M_sleep_last_tick\r
- print("1->0 醒")\r
+ # print("1->0 醒")\r
M_sleep_last=0\r
M_sleep_last_tick=data_2_int\r
else:\r
print("erro")\r
if (data_1_bin== '0002') | (data_1_bin== '0003')| (data_1_bin== '0004'):\r
- toal_tick=data_2_int\r
+ \r
if M_sleep_last==1:\r
worksleepdata.write(j, 0, "M 睡了")\r
worksleepdata.write(j, 1, M_sleep_last_tick)\r
worksleepdata.write(j, 3, data_2_int-M_sleep_last_tick)\r
j+=1\r
no_M_sleep_tick+=data_2_int-M_sleep_last_tick\r
- print("1->关机 睡死")\r
+ # print("1->关机 睡死")\r
M_sleep_last=0\r
M_sleep_last_tick=data_2_int\r
elif M_sleep_last==0:\r
worksleepdata.write(j, 3, data_2_int-M_sleep_last_tick)\r
j+=1\r
M_sleep_tick+=data_2_int-M_sleep_last_tick\r
- print("0->关机 醒死")\r
+ # print("0->关机 醒死")\r
M_sleep_last=0\r
M_sleep_last_tick=data_2_int\r
\r
worksleepdata.write(j, 3, data_2_int-sys_sleep_last_tick)\r
j+=1\r
sys_sleep_tick+=data_2_int-sys_sleep_last_tick\r
- print("1->关机 睡死")\r
+ # print("1->关机 睡死")\r
M_sleep_last=0\r
M_sleep_last_tick=data_2_int\r
elif sys_sleep_last==0:\r
worksleepdata.write(j, 3, data_2_int-sys_sleep_last_tick)\r
j+=1\r
no_sys_sleep_tick+=data_2_int-sys_sleep_last_tick\r
- print("0->关机 醒死")\r
+ # print("0->关机 醒死")\r
M_sleep_last=0\r
M_sleep_last_tick=data_2_int\r
\r
\r
\r
coutn+=1\r
- \r
+ toal_tick=data_2_int\r
data_1 = file.read(2)\r
data_2 = file.read(4)\r
# data_1_int=int(data_1) \r