import gc
import _thread
from queue import Queue
-import camera
from machine import RTC
-LCD_X = 128
-LCD_Y = 128
+import usys
def audio_cb(event):
if event == 0:
EventMesh.publish("set_audio_state", 1)
style_screen.set_pad_top(0)
style_screen.set_pad_bottom(0)
+style_white_screen = lv.style_t()
+style_white_screen.init()
+style_white_screen.set_radius(0)
+style_white_screen.set_bg_color(lv.color_make(0xff, 0xff, 0xff))
+style_white_screen.set_bg_opa(255)
+style_white_screen.set_border_width(0)
+style_white_screen.set_pad_left(0)
+style_white_screen.set_pad_right(0)
+style_white_screen.set_pad_top(0)
+style_white_screen.set_pad_bottom(0)
+
+style_gray_bg = lv.style_t()
+style_gray_bg.init()
+style_gray_bg.set_bg_color(lv.color_make(0x00, 0xff, 0x2a))
+style_gray_bg.set_border_width(0)
+style_gray_bg.set_shadow_opa(0)
+style_gray_bg.set_pad_left(0)
+style_gray_bg.set_pad_right(0)
+style_gray_bg.set_pad_top(0)
+style_gray_bg.set_pad_bottom(0)
+
style_bar = lv.style_t()
style_bar.init()
style_bar.set_radius(10)
style_bar.set_bg_color(lv.color_make(0xA0, 0xA0, 0xA0))
style_bar.set_bg_grad_color(lv.color_make(0xA0, 0xA0, 0xA0))
style_bar.set_bg_grad_dir(lv.GRAD_DIR.VER)
-style_bar.set_bg_opa(255)
+style_bar.set_bg_opa(60)
style_bar.set_pad_left(0)
style_bar.set_pad_right(0)
style_bar.set_pad_top(0)
style_font_youyuan_20 = lv.style_t()
style_font_youyuan_20.init()
style_font_youyuan_20.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-#style_font_youyuan_20.set_text_font_v2("font_28.bin",28,0)
-style_font_youyuan_20.set_text_font(lv.K01_font_16_ALL)
+style_font_youyuan_20.set_text_font_v2("font_28.bin",28,0)
+
+
+style_font_youyuan_20_gray = lv.style_t()
+style_font_youyuan_20_gray.init()
+style_font_youyuan_20_gray.set_text_color(lv.color_make(128, 128, 128))
+style_font_youyuan_20_gray.set_text_font_v2("font_28.bin",28,0)
style_font_youyuan_40 = lv.style_t()
style_font_youyuan_40.init()
style_font_youyuan_40.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-style_font_youyuan_40.set_text_font(lv.K01_font_16_ALL)
-#style_font_youyuan_40.set_text_font_v2("font_40.bin",40,0)
+style_font_youyuan_40.set_text_font_v2("font_40.bin",40,0)
#黑色
style_font_youyuan_20_black = lv.style_t()
style_font_youyuan_20_black.init()
style_font_youyuan_20_black.set_text_color(lv.color_make(0x00, 0x00, 0x00))
-style_font_youyuan_20_black.set_text_font(lv.K01_font_16_ALL)
-#style_font_youyuan_20_black.set_text_font_v2("font_28.bin",28,0)
+style_font_youyuan_20_black.set_text_font_v2("font_28.bin",28,0)
+
+#灰色背景黑色字
+style_font_28_black_bg_gray = lv.style_t()
+style_font_28_black_bg_gray.init()
+style_font_28_black_bg_gray.set_text_color(lv.color_make(0x00, 0x00, 0x00))
+style_font_28_black_bg_gray.set_text_font_v2("font_28.bin",28,0)
+style_font_28_black_bg_gray.set_bg_color(lv.color_make(0xe1,0xdb,0xdb))
+
+#黑色
+style_black = lv.style_t()
+style_black.init()
+style_black.set_text_color(lv.color_make(0x00, 0x00, 0x00))
style_font_youyuan_20_red = lv.style_t()
style_font_youyuan_20_red.init()
style_font_youyuan_20_red.set_text_color(lv.color_make(0xff, 0x00, 0x00))
-style_font_youyuan_20_red.set_text_font(lv.K01_font_16_ALL)
-#style_font_youyuan_20_red.set_text_font_v2("font_28.bin",28,0)
+style_font_youyuan_20_red.set_text_font_v2("font_28.bin",28,0)
style_img = lv.style_t()
style_img.init()
style_btn.set_shadow_opa(0)
style_btn.set_border_width(0)
-
style_wechat_btn = lv.style_t()
style_wechat_btn.init()
style_wechat_btn.set_bg_color(lv.color_make(0x1E, 0x26, 0xff))
style_wechat_btn.set_border_width(0)
style_wechat_btn.set_shadow_opa(0)
-
-style_contact_btn = lv.style_t()
+style_contact_btn = lv.style_t()
style_contact_btn.init()
-style_contact_btn.set_radius(5)
style_contact_btn.set_bg_color(lv.color_make(0xff, 0xff, 0xff))
-style_contact_btn.set_bg_opa(255)
style_contact_btn.set_border_width(0)
-style_contact_btn.set_pad_left(0)
-style_contact_btn.set_pad_right(0)
-style_contact_btn.set_pad_top(0)
-style_contact_btn.set_pad_bottom(0)
-
+style_contact_btn.set_shadow_opa(0)
style_common_bg_rect_btn_pressed = lv.style_t()
style_common_bg_rect_btn_pressed.init()
style_contact_btn_pressed = lv.style_t()
style_contact_btn_pressed.init()
-style_contact_btn_pressed.set_radius(0)
+style_contact_btn_pressed.set_radius(5)
style_contact_btn_pressed.set_bg_color(lv.color_make(0xff,0xff,0xff))
style_contact_btn_pressed.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
style_contact_btn_pressed.set_bg_grad_dir(lv.GRAD_DIR.HOR)
style_contact_btn_pressed.set_text_color(lv.color_make(0x00,0x00,0x00))
+style_alipay_btn = lv.style_t()
+style_alipay_btn.init()
+style_alipay_btn.set_bg_color(lv.color_make(0xFF, 0xFF, 0xff))
+style_alipay_btn.set_bg_opa(20)
+style_alipay_btn.set_border_width(0)
+style_alipay_btn.set_shadow_opa(0)
+
style_circle = lv.style_t()
def done_error(self):
pass
- def done_DOWN(self):
- pass
- def done_UP(self):
- pass
-
-
def handle_message_event(self,data):
pass
def publish_message_event(self,data):
global phone_screen ,phone_line,phone_label,phone_one,phone_two,phone_three,phone_four,phone_five,phone_six,phone_seven,phone_eight,phone_nine,phone_start,\
phone_zero,phone_hash,phone_call,phone_call_btn,phone_contact,phone_contact_btn,phone_delete,phone_delete_btn
- size_x = 36 #按钮大小
- size_y = 22
- start_x = 5
- start_y = 25
- offset_y = 4
if phone_screen == None:
phone_screen = lv.obj()
print("phone_screen")
phone_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- # phone_line = lv.line(phone_screen)
- # phone_line.set_points(phone_line_points,2)
- # phone_line.set_pos(125,5)
- # phone_line.set_size(2,18)
- # phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- # phone_line.add_style(style_line,0)
+ phone_line = lv.line(phone_screen)
+ phone_line.set_points(phone_line_points,2)
+ phone_line.set_pos(235,8)
+ phone_line.set_size(2,40)
+ phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ phone_line.add_style(style_line,0)
phone_label = lv.label(phone_screen)
- phone_label.set_pos(0, 5)
- phone_label.set_size(128, 20)
+ phone_label.set_pos(0, 14)
+ phone_label.set_size(0, 48)
phone_label.set_text(" ")
phone_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
phone_label.set_long_mode(lv.label.LONG.CLIP)
- phone_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ phone_label.set_style_text_align(lv.TEXT_ALIGN.RIGHT, 0)
phone_one = lv.img(phone_screen)
- phone_one.set_src("U:/static/IMAGE_NUMBER_KEY1_ICON.png")
+ phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.png")
phone_one.add_flag(lv.obj.FLAG.CLICKABLE)
phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_one.set_pos(start_x, start_y)
- phone_one.set_size(size_x, size_y)
+ phone_one.set_pos(3, 60)
+ phone_one.set_size(76, 50)
phone_two = lv.img(phone_screen)
- phone_two.set_size(size_x, size_y)
- phone_two.set_src("U:/static/IMAGE_NUMBER_KEY2_ICON.png")
+ phone_two.set_size(76, 50)
+ phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.png")
phone_two.add_flag(lv.obj.FLAG.CLICKABLE)
phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_two.set_pos(start_x+size_x+5*1, start_y)
+ phone_two.set_pos(82, 60)
phone_three = lv.img(phone_screen)
- phone_three.set_size(size_x, size_y)
- phone_three.set_src("U:/static/IMAGE_NUMBER_KEY3_ICON.png")
+ phone_three.set_size(76, 50)
+ phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.png")
phone_three.add_flag(lv.obj.FLAG.CLICKABLE)
phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_three.set_pos(start_x+size_x*2+5*2, start_y)
+ phone_three.set_pos(161, 60)
phone_four = lv.img(phone_screen)
- phone_four.set_size(size_x, size_y)
- phone_four.set_src("U:/static/IMAGE_NUMBER_KEY4_ICON.png")
+ phone_four.set_size(76, 50)
+ phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.png")
phone_four.add_flag(lv.obj.FLAG.CLICKABLE)
phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_four.set_pos(start_x, start_y+size_y+offset_y)
+ phone_four.set_pos(3, 112)
phone_five = lv.img(phone_screen)
- phone_five.set_size(size_x, size_y)
- phone_five.set_src("U:/static/IMAGE_NUMBER_KEY5_ICON.png")
+ phone_five.set_size(76, 50)
+ phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.png")
phone_five.add_flag(lv.obj.FLAG.CLICKABLE)
phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_five.set_pos(start_x+size_x+5*1, start_y+size_y+offset_y)
+ phone_five.set_pos(82, 112)
phone_six = lv.img(phone_screen)
- phone_six.set_size(size_x, size_y)
- phone_six.set_src("U:/static/IMAGE_NUMBER_KEY6_ICON.png")
+ phone_six.set_size(76, 50)
+ phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.png")
phone_six.add_flag(lv.obj.FLAG.CLICKABLE)
phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_six.set_pos(start_x+size_x*2+5*2, start_y+size_y+offset_y)
+ phone_six.set_pos(161, 112)
phone_seven = lv.img(phone_screen)
- phone_seven.set_size(size_x, size_y)
- phone_seven.set_src("U:/static/IMAGE_NUMBER_KEY7_ICON.png")
+ phone_seven.set_size(76, 50)
+ phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.png")
phone_seven.add_flag(lv.obj.FLAG.CLICKABLE)
phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_seven.set_pos(start_x, start_y+size_y*2+offset_y*2)
+ phone_seven.set_pos(3, 164)
phone_eight = lv.img(phone_screen)
- phone_eight.set_size(size_x, size_y)
- phone_eight.set_src("U:/static/IMAGE_NUMBER_KEY8_ICON.png")
+ phone_eight.set_size(76, 50)
+ phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.png")
phone_eight.add_flag(lv.obj.FLAG.CLICKABLE)
phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_eight.set_pos(start_x+size_x+5*1, start_y+size_y*2+offset_y*2)
+ phone_eight.set_pos(82, 164)
phone_nine = lv.img(phone_screen)
- phone_nine.set_size(size_x, size_y)
- phone_nine.set_src("U:/static/IMAGE_NUMBER_KEY9_ICON.png")
+ phone_nine.set_size(76, 50)
+ phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.png")
phone_nine.add_flag(lv.obj.FLAG.CLICKABLE)
phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_nine.set_pos(start_x+size_x*2+5*2, start_y+size_y*2+offset_y*2)
-
- # phone_start = lv.img(phone_screen)
- # phone_start.set_size(size_x, size_y)
- # phone_start.set_src("U:/static/IMAGE_NUMBER_KEYSTAR_ICON.png")
- # phone_start.add_flag(lv.obj.FLAG.CLICKABLE)
- # phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # phone_start.set_pos(start_x, start_y+size_y*3)
-
- phone_delete = lv.img(phone_screen)
- phone_delete.set_size(size_x, size_y)
- phone_delete.set_src("U:/static/IMAGE_BUTTON_DELKEY.png")
- phone_delete.add_flag(lv.obj.FLAG.CLICKABLE)
- phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_delete.set_pos(start_x, start_y+size_y*3+offset_y*3)
-
+ phone_nine.set_pos(161, 164)
+ phone_start = lv.img(phone_screen)
+ phone_start.set_size(76, 50)
+ phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.png")
+ phone_start.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ phone_start.set_pos(3, 216)
phone_zero = lv.img(phone_screen)
- phone_zero.set_size(size_x, size_y)
- phone_zero.set_src("U:/static/IMAGE_NUMBER_KEY0_ICON.png")
+ phone_zero.set_size(76, 50)
+ phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.png")
phone_zero.add_flag(lv.obj.FLAG.CLICKABLE)
phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_zero.set_pos(start_x+size_x+5*1, start_y+size_y*3+offset_y*3)
+ phone_zero.set_pos(82, 216)
+
+ phone_hash = lv.img(phone_screen)
+ phone_hash.set_size(76, 50)
+ phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYHASH_ICON.png")
+ phone_hash.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ phone_hash.set_pos(161, 216)
phone_call = lv.img(phone_screen)
- phone_call.set_size(size_x, size_y)
- phone_call.set_src("U:/static/IMAGE_BUTTON_DIAL.png")
+ phone_call.set_size(76, 50)
+ phone_call.set_src("E:/static/IMAGE_BUTTON_DIAL.png")
phone_call.add_flag(lv.obj.FLAG.CLICKABLE)
phone_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- phone_call.set_pos(start_x+size_x*2+5*2, start_y+size_y*3+offset_y*3)
+ phone_call.set_pos(3, 270)
+
+ phone_call_btn = lv.img(phone_screen)
+ phone_call_btn.set_size(76, 52)
+ phone_call_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_call_btn.set_pos(3, 268)
+
+ phone_contact = lv.img(phone_screen)
+ phone_contact.set_size(64, 50)
+ phone_contact.set_src("E:/static/IMAGE_BUTTON_DIAL_CONTACT.png")
+ phone_contact.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_contact.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ phone_contact.set_pos(87, 270)
+
+ phone_contact_btn = lv.img(phone_screen)
+ phone_contact_btn.set_size(76, 52)
+ phone_contact_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_contact_btn.set_pos(87, 268)
+ phone_delete = lv.img(phone_screen)
+ phone_delete.set_size(76, 50)
+ phone_delete.set_src("E:/static/IMAGE_BUTTON_DELKEY.png")
+ phone_delete.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ phone_delete.set_pos(161, 270)
+ phone_delete_btn = lv.img(phone_screen)
+ phone_delete_btn.set_size(76, 52)
+ phone_delete_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ phone_delete_btn.set_pos(161, 268)
self.meta = phone_screen
lv.EVENT.CLICKED, None)
phone_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)),
lv.EVENT.CLICKED, None)
- phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
+ phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.seven(e)),
lv.EVENT.CLICKED, None)
-
- phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
phone_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)),
lv.EVENT.CLICKED, None)
- phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
-
- phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine_endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
- # phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
- # lv.EVENT.CLICKED, None)
-
- phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)#短按显示*
-
- phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero_endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
+ phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine(e)),
+ lv.EVENT.CLICKED, None)
+ phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
+ lv.EVENT.CLICKED, None)
- phone_call.add_event_cb(lambda e: EventMesh.callback_wrapper(self.call(e)),
+ phone_call_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.call(e)),
lv.EVENT.CLICKED, None)
- # phone_contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.contact(e)),
- # lv.EVENT.CLICKED, None)
- phone_delete.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete(e)),
+ phone_contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.contact(e)),
+ lv.EVENT.CLICKED, None)
+ phone_delete_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete(e)),
lv.EVENT.CLICKED, None)
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- # lv.EVENT.CLICKED, None)#短按显示*
+ phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
+ lv.EVENT.CLICKED, None)#短按显示*
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- # lv.EVENT.LONG_PRESSED, None)#长按显示+
+ phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
+ lv.EVENT.LONG_PRESSED, None)#长按显示+
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
- # lv.EVENT.RELEASED, None)#释放按键
+ phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
+ lv.EVENT.RELEASED, None)#释放按键
- # phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)),
- # lv.EVENT.CLICKED, None)
+ phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)),
+ lv.EVENT.CLICKED, None)
self.phone_num=''
self.phone_list = []
self.count = 0
if phone_label != None:
- phone_label.set_pos(0, 0)
+ phone_label.set_pos(0, 14)
phone_label.set_size(0, 0)
phone_label.set_text(" ")
#phone_label.set_text(" ")
# print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num))
if self.timer_cb == 0:
self.timer_cb = 1
- # self.timer.start(1000,1,self.refresh_line)
+ self.timer.start(1000,1,self.refresh_line)
def refresh_line(self,e):
- return
if self.count > 2 :
self.count = 1
if self.count%2 == 0:
self.timer_cb = 0
self.timer.stop()
- def nine_endpressed_start(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- #self.phone_list.pop(0)
- return
-
- if self.button == 1:#长按
- self.phone_list.append("#")
- else:#短按
- self.phone_list.append("9")
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
-
- def zero_endpressed_start(self,e):
+ def endpressed_start(self,e):
if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
#self.phone_list.pop(0)
return
if self.button == 1:#长按
self.phone_list.append("+")
else:#短按
- self.phone_list.append("0")
-
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def endpressed_start(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- #self.phone_list.pop(0)
- return
-
- if self.button == 1:#长按
self.phone_list.append("*")
- else:#短按
- self.phone_list.append("7")
+
self.phone_num = ''.join(self.phone_list)
self.show_num()
def show_num(self):
#print("self.phone_num ",self.phone_num,self.phone_list)
- global phone_label
- phone_label.set_pos(0, 5)
- phone_label.set_size(128, 20)
+ len_t = len(self.phone_list)*40
+ if len_t > 230:
+ len_t = 230
+ phone_label.set_size(len_t,48)
+ phone_label.set_pos(230-len_t,14)
phone_label.set_text(self.phone_num)
def lcd_on(self):
call_log_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
call_log_cont_list_screen = lv.obj(call_log_screen)
- call_log_cont_list_screen.set_pos(0, 30)
- call_log_cont_list_screen.set_size(LCD_X, LCD_Y-30)
+ call_log_cont_list_screen.set_pos(0, 50)
+ call_log_cont_list_screen.set_size(240, 270)
call_log_cont_list_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
call_log_cont_list_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
call_log_title = lv.label(call_log_screen)
- call_log_title.set_pos(0, 5)
- call_log_title.set_size(LCD_X, 20)
- call_log_title.set_long_mode(lv.label.LONG.WRAP)
+ call_log_title.set_pos(0, 10)
+ call_log_title.set_size(240, 40)
+ call_log_title.set_long_mode(lv.label.LONG.CLIP)
call_log_title.set_text("通话记录")
call_log_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
call_log_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
none_call_log_title = lv.label(call_log_cont_list_screen)
- none_call_log_title.set_pos(0, (LCD_Y-30)//2-20)
- none_call_log_title.set_size(LCD_X, 20)
+ none_call_log_title.set_pos(0, 120)
+ none_call_log_title.set_size(240, 40)
none_call_log_title.set_long_mode(lv.label.LONG.WRAP)
none_call_log_title.set_text(" ")
none_call_log_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
#self.call_log_detail_list = lv.obj(call_log_screen)
self.call_log_detail_list = lv.obj(call_log_cont_list_screen)
self.call_log_detail_list.set_pos(0, 0)
- self.call_log_detail_list.set_size(LCD_X, LCD_Y-30+1)
+ self.call_log_detail_list.set_size(240, 271)
self.call_log_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
self.call_log_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
for i in range(self.CALL_LOG_MAX):
_btn_label4 = lv.label(_btn)
_btn_label5 = lv.label(_btn)
_btn_label6 = lv.label(_btn)
+ _btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ _btn_label6.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
self.call_log_detail_list_dict.append({"_btn":_btn,"_btn_label2":_btn_label2,"_btn_label3":_btn_label3,
"_btn_label4":_btn_label4,"_btn_label5":_btn_label5,"_btn_label6":_btn_label6})
self.meta = call_log_screen
if self.check_json == True and len(self.read_call_log) != 0:
none_call_log_title.set_text(" ")
- self.call_log_detail_list.clear_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
+
# self.call_log_detail_list.delete()#先删除一次控件
# self.call_log_detail_list = lv.obj(call_log_cont_list_screen)
# self.call_log_detail_list.set_pos(0, 0)
sort_tmp = self.read_call_log.values()
sort_new = sorted(sort_tmp, key = lambda i: i['timesec'],reverse = True)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条
# print("self.call_log :{} \r\n sort_new:{}\r\n".format(self.read_call_log,sort_new))
-
+ self.call_log_detail_list.clear_flag(lv.obj.FLAG.HIDDEN)#隐藏空文本
for sort_new_tmp in sort_new: #字典 key value
-
num_count = sort_new_tmp["count"]#获取通话次数
num_name = sort_new_tmp["name"]#获取名称
num_phonnum = sort_new_tmp["number"]#获取电话号码
# print("num_count :{} num_name:{} num_time:{}".format(num_count,num_name,num_time))
#_btn = lv.btn(self.call_log_detail_list)
- self.call_log_detail_list_dict[h]["_btn"].set_size(LCD_X,45)
- self.call_log_detail_list_dict[h]["_btn"].set_pos(0,47*h)
- self.call_log_detail_list_dict[h]["_btn"].add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.call_log_detail_list_dict[h]["_btn"].set_size(240,80)
+ self.call_log_detail_list_dict[h]["_btn"].set_pos(0,82*h)
+ #self.call_log_detail_list_dict[h]["_btn"].add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
self.call_log_detail_list_dict[h]["_btn"].add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)),
lv.EVENT.CLICKED, None)
#_btn_label2 = lv.label(_btn)
- self.call_log_detail_list_dict[h]["_btn_label2"].set_pos(0, 0)
- self.call_log_detail_list_dict[h]["_btn_label2"].set_size(0, 20)
+ self.call_log_detail_list_dict[h]["_btn_label2"].set_pos(0, 5)
+ self.call_log_detail_list_dict[h]["_btn_label2"].set_size(0, 25)
self.call_log_detail_list_dict[h]["_btn_label2"].set_text(num_phonnum)
#_btn_label2.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
#
# _btn_label3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
#_btn_label4 = lv.label(_btn)
- self.call_log_detail_list_dict[h]["_btn_label4"].set_pos(5, 24)
- self.call_log_detail_list_dict[h]["_btn_label4"].set_size(LCD_X-15, 21)
- self.call_log_detail_list_dict[h]["_btn_label4"].set_text(num_phonnum)
+ self.call_log_detail_list_dict[h]["_btn_label4"].set_pos(0, 38)
+ self.call_log_detail_list_dict[h]["_btn_label4"].set_size(230, 30)
self.call_log_detail_list_dict[h]["_btn_label4"].set_long_mode(lv.label.LONG.CLIP)
- self.call_log_detail_list_dict[h]["_btn_label4"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.call_log_detail_list_dict[h]["_btn_label4"].set_text(num_phonnum)
+ #self.call_log_detail_list_dict[h]["_btn_label4"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
#_btn_label5 = lv.label(_btn)
self.call_log_detail_list_dict[h]["_btn_label5"].set_pos(0, 5)
# _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
#_btn_label6 = lv.label(_btn)
- self.call_log_detail_list_dict[h]["_btn_label6"].set_pos(5, 4)
- self.call_log_detail_list_dict[h]["_btn_label6"].set_size(LCD_X-15, 20)
- self.call_log_detail_list_dict[h]["_btn_label6"].set_text(num_name)
+ self.call_log_detail_list_dict[h]["_btn_label6"].set_pos(0, 5)
+ self.call_log_detail_list_dict[h]["_btn_label6"].set_size(230, 28)
self.call_log_detail_list_dict[h]["_btn_label6"].set_long_mode(lv.label.LONG.CLIP)
- self.call_log_detail_list_dict[h]["_btn_label6"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.call_log_detail_list_dict[h]["_btn_label6"].set_text(num_name)
+ #self.call_log_detail_list_dict[h]["_btn_label6"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
self.call_log_detail_list_dict[h]["_btn"].clear_flag(lv.obj.FLAG.HIDDEN)
#self.call_log_detail_list_dict[h]["_btn"].scroll_to_view(lv.ANIM.OFF)
hangup_imgbtn = None
class DialingScreen(Screen):
NAME = "dialing"
-
+
def __init__(self):
super().__init__()
self.meta = None
- self.meta_type = "popup"
+ self.timer = osTimer()
self.call_log = {}
self.call_log_value = {}
self.read_call_log = {}
print("dialing_screen")
dialing_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- # dialing_img = lv.img(dialing_screen)
- # dialing_img.set_pos(80, 20)
- # dialing_img.set_size(64, 64)
- # dialing_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
- # dialing_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ dialing_img = lv.img(dialing_screen)
+ dialing_img.set_pos(80, 20)
+ dialing_img.set_size(64, 64)
+ dialing_img.set_src("E:/static/IMAGE_NOTICE_CALL.png")
+ dialing_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_name = lv.label(dialing_screen)
- dialing_name.set_pos(0, 14)
- dialing_name.set_size(LCD_X, 20)
+ dialing_name.set_pos(0, 120)
+ dialing_name.set_size(240, 50)
dialing_name.set_text(" ")
- dialing_name.set_long_mode(lv.label.LONG.DOT)
dialing_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_call_label = lv.label(dialing_screen)
- dialing_call_label.set_pos(0, 43)
- dialing_call_label.set_size(LCD_X, 40)
+ dialing_call_label.set_pos(0, 174)
+ dialing_call_label.set_size(240, 50)
dialing_call_label.set_text("正在等待对方接\n听电话")
dialing_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_call_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- hangup_imgbtn = lv.img(dialing_screen) #64
- hangup_imgbtn.set_size(32, 32)
- hangup_imgbtn.set_src("U:/static/hang_up.png")
+ hangup_imgbtn = lv.img(dialing_screen)
+ hangup_imgbtn.set_size(64, 64)
+ hangup_imgbtn.set_src("E:/static/hang_up.png")
hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- hangup_imgbtn.set_pos(48, 90)
+ hangup_imgbtn.set_pos(80, 250)
hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
lv.EVENT.CLICKED, None)
self.meta = dialing_screen
name = EventMesh.publish("get_phonename")#获取拨打电话名称
dialing_name.set_text(name)#名称
def post_processor_after_initialization(self):
- pass
+ # print("创建通话记录 post_processor_before_initialization\n")
+ utime.sleep_ms(200)#不加延时会切屏
+
def hangup(self,e):
EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("set_hangup_mode", 1)
voiceCall.callEnd()
+ self.timer.start(5000,0,self.call_end)
+
+ def Close(self):
+ self.timer.stop()
+
+ def call_end(self,*argc):
+ call_state = EventMesh.publish("get_call_state")#设置关机时间
+ if call_state != None:
+ if call_state == 0:#未打通
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+
def done_return(self):
pass
no_sim_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_popup_screen_title1 = lv.label(no_sim_popup_screen)
- no_sim_popup_screen_title1.set_pos(0, 40)
- no_sim_popup_screen_title1.set_size(LCD_X, 40)
+ no_sim_popup_screen_title1.set_pos(0, 140)
+ no_sim_popup_screen_title1.set_size(240, 40)
no_sim_popup_screen_title1.set_text("无SIM卡或")
no_sim_popup_screen_title1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_sim_popup_screen_title1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_popup_screen_title2 = lv.label(no_sim_popup_screen)
- no_sim_popup_screen_title2.set_pos(0, 60)
- no_sim_popup_screen_title2.set_size(LCD_X, 40)
+ no_sim_popup_screen_title2.set_pos(0, 190)
+ no_sim_popup_screen_title2.set_size(240, 40)
no_sim_popup_screen_title2.set_text("无网络")
no_sim_popup_screen_title2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_sim_popup_screen_title2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
def btn8_press(self):
EventMesh.publish("return_prev_screen")
-wechat_failed_popup_screen = None
-wechat_failed_popup_title1 = None
-wechat_failed_popup_title2 = None
-#未插卡
-class wechatFailedScreen(Screen):#录音失败提示
- NAME = "wechat_failed_popup_screen"
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
-
- def initialization(self):
- global wechat_failed_popup_screen,wechat_failed_popup_title1,wechat_failed_popup_title2
- if wechat_failed_popup_screen == None :
- wechat_failed_popup_screen = lv.obj()
- print("wechat_failed_popup_screen")
- wechat_failed_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- wechat_failed_popup_title1 = lv.label(wechat_failed_popup_screen)
- wechat_failed_popup_title1.set_pos(0, 40)
- wechat_failed_popup_title1.set_size(LCD_X, 40)
- wechat_failed_popup_title1.set_text("录音太短")
- wechat_failed_popup_title1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- wechat_failed_popup_title1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- wechat_failed_popup_title2 = lv.label(wechat_failed_popup_screen)
- wechat_failed_popup_title2.set_pos(0, 60)
- wechat_failed_popup_title2.set_size(LCD_X, 40)
- wechat_failed_popup_title2.set_text("请重试!")
- wechat_failed_popup_title2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- wechat_failed_popup_title2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- self.meta = wechat_failed_popup_screen
-
- def done_left_to_right(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
- def done_right_to_left(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
- def done_bottom_to_top(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
- def done_top_to_bottom(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
- def done_return(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
- def btn8_press(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
-
-
no_valied_num_screen = None
no_valied_num_screen_title1 = None
no_valied_num_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
no_valied_num_screen_title1 = lv.label(no_valied_num_screen)
- no_valied_num_screen_title1.set_pos(0, 20)
- no_valied_num_screen_title1.set_size(128, 20)
+ no_valied_num_screen_title1.set_pos(0, 140)
+ no_valied_num_screen_title1.set_size(240, 40)
no_valied_num_screen_title1.set_text("无效的号码,")
no_valied_num_screen_title1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_valied_num_screen_title1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_valied_num_screen_title2 = lv.label(no_valied_num_screen)
- no_valied_num_screen_title2.set_pos(0, 50)
- no_valied_num_screen_title2.set_size(128, 40)
+ no_valied_num_screen_title2.set_pos(0, 190)
+ no_valied_num_screen_title2.set_size(240, 40)
no_valied_num_screen_title2.set_text("请重新输入")
no_valied_num_screen_title2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_valied_num_screen_title2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_power_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_power_screen_title = lv.label(no_sim_power_screen)
- no_sim_power_screen_title.set_pos(0, 5)
- no_sim_power_screen_title.set_size(128, 40)
+ no_sim_power_screen_title.set_pos(0, 20)
+ no_sim_power_screen_title.set_size(240, 40)
no_sim_power_screen_title.set_text("无SIM卡,无法拨打")
no_sim_power_screen_title.set_long_mode(lv.label.LONG.WRAP)
no_sim_power_screen_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_sim_power_screen_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- # no_sim_power_screen_img = lv.img(no_sim_power_screen)
- # no_sim_power_screen_img.set_pos(49, 30)
- # no_sim_power_screen_img.set_size(30, 30)
- # no_sim_power_screen_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # no_sim_power_screen_img.set_src("U:/static/poweroff_icon.png")
+ no_sim_power_screen_img = lv.img(no_sim_power_screen)
+ no_sim_power_screen_img.set_pos(100, 70)
+ no_sim_power_screen_img.set_size(61, 61)
+ no_sim_power_screen_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ no_sim_power_screen_img.set_src("E:/static/poweroff_icon.png")
no_sim_power_screen_label = lv.label(no_sim_power_screen)
- no_sim_power_screen_label.set_pos(0, 45)
- no_sim_power_screen_label.set_size(128, 20)
+ no_sim_power_screen_label.set_pos(0, 150)
+ no_sim_power_screen_label.set_size(240, 40)
no_sim_power_screen_label.set_text("是否关机?")
no_sim_power_screen_label.set_long_mode(lv.label.LONG.WRAP)
no_sim_power_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_sim_power_screen_comfirm = lv.img(no_sim_power_screen)
- no_sim_power_screen_comfirm.set_size(88, 23)
- no_sim_power_screen_comfirm.set_pos(20, 65)
- no_sim_power_screen_comfirm.set_src("U:/static/off_icon.png")
+ no_sim_power_screen_comfirm.set_size(176, 46)
+ no_sim_power_screen_comfirm.set_pos(32, 190)
+ no_sim_power_screen_comfirm.set_src("E:/static/off_icon.png")
no_sim_power_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
no_sim_power_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_power_screen_comfirm_btn = lv.img(no_sim_power_screen)
- no_sim_power_screen_comfirm_btn.set_size(88, 35)
- no_sim_power_screen_comfirm_btn.set_pos(20, 55)
- no_sim_power_screen_comfirm_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_comfirm_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
poweroff_confirm_label = lv.label(no_sim_power_screen_comfirm)
poweroff_confirm_label.set_text("确定")
- poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+ poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 5)
poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_power_screen_cancel = lv.img(no_sim_power_screen)
- no_sim_power_screen_cancel.set_size(88, 23)
- no_sim_power_screen_cancel.set_pos(20, 95)
- no_sim_power_screen_cancel.set_src("U:/static/cancel_icon.png")
+ no_sim_power_screen_cancel.set_size(176, 46)
+ no_sim_power_screen_cancel.set_pos(32, 265)
+ no_sim_power_screen_cancel.set_src("E:/static/cancel_icon.png")
no_sim_power_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
no_sim_power_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_power_screen_cancel_btn = lv.img(no_sim_power_screen)
- no_sim_power_screen_cancel_btn.set_size(88, 38)
- no_sim_power_screen_cancel_btn.set_pos(20, 90)
- no_sim_power_screen_cancel_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_power_screen_cancel_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
poweroff_return_label = lv.label(no_sim_power_screen_cancel)
poweroff_return_label.set_text("取消")
- poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
+ poweroff_return_label.align(lv.ALIGN.CENTER, 0, 5)
poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_sim_power_screen_cancel.set_ext_click_area(20)
self.meta = no_sim_power_screen
- no_sim_power_screen_comfirm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
+ no_sim_power_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
lv.EVENT.CLICKED, None)
- no_sim_power_screen_cancel_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
+ no_sim_power_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
lv.EVENT.CLICKED, None)
def confirm(self,e):
def btn8_press(self):
EventMesh.publish("return_prev_screen")
+no_sim_auto_screen = None
+no_sim_auto_screen_title = None
+no_sim_auto_screen_label =None
+no_sim_auto_screen_comfirm =None
+no_sim_autor_screen_cancel = None
+no_sim_auto_screen_img = None
+no_sim_confirm_label = None
+
+#未插卡,长按关机
+class NoSimAutoScreen(Screen):#无sim卡是否关机
+ NAME = "no_sim_auto_screen"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ self.timer = osTimer()
+ self.count = 0
+
+ def initialization(self):
+ global no_sim_auto_screen,no_sim_confirm_label,no_sim_cancel_label,no_sim_auto_screen_img,no_sim_auto_screen_title,no_sim_auto_screen_comfirm,no_sim_auto_screen_cancel,no_sim_auto_screen_label
+ if no_sim_auto_screen == None :
+ no_sim_auto_screen = lv.obj()
+ print("no_sim_power_screen")
+ no_sim_auto_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ no_sim_auto_screen_title = lv.label(no_sim_auto_screen)
+ no_sim_auto_screen_title.set_pos(0, 10)
+ no_sim_auto_screen_title.set_size(240, 50)
+ no_sim_auto_screen_title.set_text("无SIM卡,无操作30s\n后自动关机")
+ no_sim_auto_screen_title.set_long_mode(lv.label.LONG.WRAP)
+ no_sim_auto_screen_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ no_sim_auto_screen_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ no_sim_auto_screen_img = lv.img(no_sim_auto_screen)
+ no_sim_auto_screen_img.set_pos(100, 70)
+ no_sim_auto_screen_img.set_size(61, 61)
+ no_sim_auto_screen_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ no_sim_auto_screen_img.set_src("E:/static/poweroff_icon.png")
+
+
+ no_sim_auto_screen_label = lv.label(no_sim_auto_screen)
+ no_sim_auto_screen_label.set_pos(0, 150)
+ no_sim_auto_screen_label.set_size(240, 40)
+ no_sim_auto_screen_label.set_text("是否关机?")
+ no_sim_auto_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ no_sim_auto_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ no_sim_auto_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+ no_sim_auto_screen_comfirm = lv.img(no_sim_auto_screen)
+ no_sim_auto_screen_comfirm.set_size(176, 46)
+ no_sim_auto_screen_comfirm.set_pos(32, 190)
+ no_sim_auto_screen_comfirm.set_src("E:/static/off_icon.png")
+ no_sim_auto_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
+ no_sim_auto_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ no_sim_confirm_label = lv.label(no_sim_auto_screen_comfirm)
+ no_sim_confirm_label.set_text("确定")
+ no_sim_confirm_label.align(lv.ALIGN.CENTER, 0, 5)
+ no_sim_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ no_sim_auto_screen_cancel = lv.img(no_sim_auto_screen)
+ no_sim_auto_screen_cancel.set_size(176, 46)
+ no_sim_auto_screen_cancel.set_pos(32, 265)
+ no_sim_auto_screen_cancel.set_src("E:/static/cancel_icon.png")
+ no_sim_auto_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
+ no_sim_auto_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ no_sim_cancel_label = lv.label(no_sim_auto_screen_cancel)
+ no_sim_cancel_label.set_text("取消")
+ no_sim_cancel_label.align(lv.ALIGN.CENTER, 0, 5)
+ no_sim_cancel_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ no_sim_auto_screen_cancel.set_ext_click_area(20)
+
+ self.meta = no_sim_auto_screen
+ no_sim_auto_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
+ lv.EVENT.CLICKED, None)
+
+ no_sim_auto_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
+ lv.EVENT.CLICKED, None)
+ self.timer.start(1*1000,1,self.fun)
+ self.count = 0
+ def fun(self,*argc):
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ self.count+=1
+ if self.count > 30:
+ self.count = 0
+ self.timer.stop()
+ EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
+
+
+ def Close(self):
+ self.count = 0
+ self.timer.stop()
+
+ def confirm(self,e):
+ EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
+
+ def cancel(self,e):
+ EventMesh.publish("return_prev_screen")
+
+ def done_return(self):
+ EventMesh.publish("return_prev_screen")
+
+ def btn1_release(self):
+ EventMesh.publish("return_prev_screen")
+
+ def btn8_press(self):
+ EventMesh.publish("return_prev_screen")
+
+
+
+
dialing_popup_screen = None
dialing_popup_img = None
dialing_popup_name = None
self.timer1 = osTimer()
self.time_count = 0
self.timer2 = osTimer()
- self.CALL_LOG_MAX = CALL_LOG_MAX
+ self.call_log = {}
+ self.call_log_value = {}
self.read_call_log = {}
-
+ self.number_tmp = {}
+ self.CALL_LOG_MAX = CALL_LOG_MAX
+
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
global dialing_popup_screen,dialing_popup_img,dialing_popup_name ,dialing_popup_call,dialing_popup_hangup_imgbtn
print("dialing_popup_screen")
dialing_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- # dialing_popup_img = lv.img(dialing_popup_screen)
- # dialing_popup_img.set_pos(32, 5)
- # dialing_popup_img.set_size(64, 64)
- # dialing_popup_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
- # dialing_popup_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ dialing_popup_img = lv.img(dialing_popup_screen)
+ dialing_popup_img.set_pos(80, 20)
+ dialing_popup_img.set_size(64, 64)
+ dialing_popup_img.set_src("E:/static/IMAGE_NOTICE_CALL.png")
+ dialing_popup_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_popup_name = lv.label(dialing_popup_screen)
- dialing_popup_name.set_pos(0, 15)
- dialing_popup_name.set_size(LCD_X, 20)
+ dialing_popup_name.set_pos(0, 120)
+ dialing_popup_name.set_size(240, 50)
dialing_popup_name.set_text(" ")
- dialing_popup_name.set_long_mode(lv.label.LONG.DOT)
dialing_popup_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_popup_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_popup_call = lv.label(dialing_popup_screen)
- dialing_popup_call.set_pos(0, 50)
- dialing_popup_call.set_size(LCD_X, 20)
+ dialing_popup_call.set_pos(0, 180)
+ dialing_popup_call.set_size(240, 50)
dialing_popup_call.set_text("正在拨号中")
dialing_popup_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_popup_call.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_popup_hangup_imgbtn = lv.img(dialing_popup_screen)
- dialing_popup_hangup_imgbtn.set_size(32, 32)
- dialing_popup_hangup_imgbtn.set_src("U:/static/hang_up.png")
+ dialing_popup_hangup_imgbtn.set_size(64, 64)
+ dialing_popup_hangup_imgbtn.set_src("E:/static/hang_up.png")
dialing_popup_hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
dialing_popup_hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- dialing_popup_hangup_imgbtn.set_pos(48, 90)
+ dialing_popup_hangup_imgbtn.set_pos(80, 250)
dialing_popup_hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
lv.EVENT.CLICKED, None)
self.meta = dialing_popup_screen
def post_processor_after_initialization(self):
self.time_count = 0
- # print("创建通话记录 post_processor_before_initialization\n")
- utime.sleep_ms(200)#不加延时会切屏
#获取字符串
name = EventMesh.publish("get_phonename")#获取拨打电话名称
content = EventMesh.publish("get_phonenum")#获取电话号码
date_tmp = utime.localtime()
time_tmp = utime.mktime(date_tmp)
# print("time_tmp:{}".format(time_tmp))
- read_call_log = EventMesh.publish("get_call_log_list")
- check_json = read_call_log[0]
+ read_call_log_tmp = EventMesh.publish("get_call_log_list")
+ check_json = read_call_log_tmp[0]
if check_json == True:
- self.read_call_log = read_call_log[1]
+ self.read_call_log = read_call_log_tmp[1]
b = content in self.read_call_log.keys()#查找key中是否包含content电话号码 True 包含在里面 False不包含在里面
if b == True:#查找是否有相同的电话号码 有就直接读出来的次数上加一 没有则从1开始加起
number_tmp = {}
tmp["number"] = content
self.read_call_log[content] = tmp
- with open("/usr/static/storage_file/Call_log.json","w",encoding="utf-8") as fd:
+ with open("/ext/static/storage_file/Call_log.json","w",encoding="utf-8") as fd:
ujson.dump(self.read_call_log,fd)
print("创建通话记录")
EventMesh.publish("set_call_log_list", [1,self.read_call_log])
EventMesh.publish("call_log_update_show_list")
-
self.timer1.start(1000, 1, self.timeout_hangup)
self.timer2.start(2000, 0, self.timeout_call)
def timeout_hangup(self,e):
EventMesh.publish("system_sleep_rest")#防止黑屏
self.time_count+=1
- if self.time_count >= 10:#5s内没有打通则不在继续拨打关闭
+ if self.time_count >= 5:#5s内没有打通则不在继续拨打关闭
self.time_count = 0
EventMesh.publish("set_UI_high_priority", 0)
- sos_flag = EventMesh.publish("get_sos_flag")
- print("sos_flag!!!!!!!!!!!!!!!!:",sos_flag)
- if sos_flag == 1:
- EventMesh.publish("set_sos_info_call")
+ EventMesh.publish("set_sos_info_call")
EventMesh.publish("load_screen", {"screen": "dial_no_connect_popup"})
dial_no_connect_popup.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
dialing_connect_call = lv.label(dial_no_connect_popup)
- dialing_connect_call.set_pos(0, 40)
- dialing_connect_call.set_size(128, 88)
+ dialing_connect_call.set_pos(0, 110)
+ dialing_connect_call.set_size(240, 150)
dialing_connect_call.set_text("你好,你所拨打的\n电话暂时无法接\n通,请稍后再拨")
dialing_connect_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialing_connect_call.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
def timeout_hangup(self,e):
EventMesh.publish("system_sleep_rest")#防止黑屏
self.time_count+=1
- if self.time_count >= 10:
+ if self.time_count >= 5:
self.time_count = 0
EventMesh.publish("return_prev_screen")
def Close(self):
- self.timer.stop()
EventMesh.publish("set_sos_info_call")
-
-
+ self.timer.stop()
def done_left_to_right(self):
EventMesh.publish("return_prev_screen")
def btn8_press(self):
EventMesh.publish("return_prev_screen")
-message_popup_screen = None
-message_popup_title = None
-#信息弹窗
-class NewMessageScreen(Screen):
- NAME = "message_popup"
+charge_full_screen = None
+charge_full_screen_title = None
+class chargefullScreen(Screen):#充电已满弹窗提示
+ NAME = "charge_full"
def __init__(self):
super().__init__()
self.meta = None
self.meta_type = "popup"
-
+ self.timer = osTimer()
+ self.count = 0
def initialization(self):
- global message_popup_screen,message_popup_title
- if message_popup_screen == None :
- message_popup_screen = lv.obj()
- print("message_popup_screen")
- message_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+ global charge_full_screen,charge_full_screen_title
+ if charge_full_screen == None :
+ charge_full_screen = lv.obj()
+ print("charge_full_screen")
+ charge_full_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+ charge_full_screen_title = lv.label(charge_full_screen)
+ charge_full_screen_title.set_pos(0, 150)
+ charge_full_screen_title.set_size(240, 40)
+ charge_full_screen_title.set_text("充电已满")
+ charge_full_screen_title.set_long_mode(lv.label.LONG.WRAP)
+ charge_full_screen_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ charge_full_screen_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.meta = charge_full_screen
+ self.count = 0
+ self.timer.start(1*1000,1,self.fun)
- message_popup_title = lv.label(message_popup_screen)
- message_popup_title.set_pos(0, 40)
- message_popup_title.set_size(128, 40)
- message_popup_title.set_text("你有新的消息")
- message_popup_title.set_long_mode(lv.label.LONG.WRAP)
- message_popup_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- message_popup_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- self.meta = message_popup_screen
- EventMesh.publish("set_sms_clear_all_data",10)
-
- def done_left_to_right(self):
- EventMesh.publish("return_prev_screen")
-
- def done_right_to_left(self):
+ def Close(self):
+ self.count = 0
+ self.timer.stop()
+ pass
+
+ def fun(self,*argc):
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ self.count+=1
+ if self.count > 2*60:
+ self.count = 0
+ self.timer.stop()
+ #EventMesh.publish("return_prev_screen")
+
+ def done_click(self):
EventMesh.publish("return_prev_screen")
- def done_bottom_to_top(self):
+ def done_return(self):
EventMesh.publish("return_prev_screen")
- def done_top_to_bottom(self):
+ def btn1_release(self):
EventMesh.publish("return_prev_screen")
- def done_return(self):
+ def btn8_press(self):
EventMesh.publish("return_prev_screen")
- def done_click(self):
- EventMesh.publish("load_screen", {"screen": "popup"})
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-message_full_screen = None
-message_full_label = None
-message_full_confirm = None
-message_full_cancel = None
+message_popup_screen = None
+message_popup_title = None
#信息弹窗
-class MessageFullScreen(Screen):
- NAME = "message_full"
+class NewMessageScreen(Screen):
+ NAME = "message_popup"
def __init__(self):
super().__init__()
self.meta = None
self.meta_type = "popup"
- EventMesh.subscribe("remove_all_sms_cb",self.remove_all_sms_cb)
def initialization(self):
- global message_full_screen,message_full_label,message_full_confirm,message_full_cancel
- if message_full_screen == None :
- message_full_screen = lv.obj()
- print("message_full_screen")
- message_full_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- message_full_label = lv.label(message_full_screen)
- message_full_label.set_pos(0, 10)
- message_full_label.set_size(128, 40)
- message_full_label.set_text("信息已满,是否清除所有?")
- message_full_label.set_long_mode(lv.label.LONG.WRAP)
- message_full_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- message_full_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- message_full_confirm = lv.label(message_full_screen)
- message_full_confirm.set_text("确认")
- message_full_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- message_full_confirm.set_size(64, 63)
- message_full_confirm.set_pos(0,65)
- message_full_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- message_full_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
- # message_full_confirm.set_ext_click_area(63)
-
- message_full_cancel = lv.label(message_full_screen)
- message_full_cancel.set_text("取消")
- message_full_cancel.set_size(64, 63)
- message_full_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- message_full_cancel.set_pos(64,65)
- message_full_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- message_full_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
- # message_full_cancel.set_ext_click_area(63)
- self.meta = message_full_screen
-
- message_full_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
- message_full_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
-
+ global message_popup_screen,message_popup_title
+ if message_popup_screen == None :
+ message_popup_screen = lv.obj()
+ print("message_popup_screen")
+ message_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- def remove_all_sms_cb(self, event, msg):
- sms.deleteMsg(1,4)
+ message_popup_title = lv.label(message_popup_screen)
+ message_popup_title.set_pos(0, 150)
+ message_popup_title.set_size(240, 40)
+ message_popup_title.set_text("你有新的信息")
+ message_popup_title.set_long_mode(lv.label.LONG.WRAP)
+ message_popup_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ message_popup_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.meta = message_popup_screen
+ EventMesh.publish("set_sms_clear_all_data",10)
+
- def confirm(self, e):
- print("sms confirm!!!!!!!!")
- # self.timer.start(2*1000,0,self.clear_data)
- EventMesh.publish("load_screen", {"screen": "remove_message_popup"})
- EventMesh.publish_async("remove_all_sms_cb","",1*1024)
- def concel(self, e):
- EventMesh.publish("return_prev_screen")
def done_left_to_right(self):
EventMesh.publish("return_prev_screen")
def done_return(self):
EventMesh.publish("return_prev_screen")
+ def done_click(self):
+ EventMesh.publish("load_screen", {"screen": "popup"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
remove_message_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
message_popup_title = lv.label(remove_message_popup_screen)
- message_popup_title.set_pos(0, 40)
- message_popup_title.set_size(120, 50)
+ message_popup_title.set_pos(0, 150)
+ message_popup_title.set_size(240, 50)
message_popup_title.set_text("正在删除中...\n请稍候")
message_popup_title.set_long_mode(lv.label.LONG.WRAP)
message_popup_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
self.meta = remove_message_popup_screen
self.timer.start(1000,1,self.timer_cb)
def timer_cb(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
msg_nums = sms.getMsgNums()
# print("timer_cb remove!!!!!!!!!",msg_nums)
if msg_nums == 0:
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
+message_full_screen = None
+message_full_label = None
+message_full_confirm = None
+message_full_cancel = None
+#信息弹窗
+class MessageFullScreen(Screen):
+ NAME = "message_full"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ EventMesh.subscribe("remove_all_sms_cb",self.remove_all_sms_cb)
+ def initialization(self):
+ global message_full_screen,message_full_label,message_full_confirm,message_full_cancel
+ if message_full_screen == None :
+ message_full_screen = lv.obj()
+ print("message_full_screen")
+ message_full_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ message_full_label = lv.label(message_full_screen)
+ message_full_label.set_pos(0, 100)
+ message_full_label.set_size(240, 50)
+ message_full_label.set_text("信息已满,是否清除所有?")
+ message_full_label.set_long_mode(lv.label.LONG.WRAP)
+ message_full_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ message_full_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ message_full_confirm = lv.label(message_full_screen)
+ message_full_confirm.set_text("确认")
+ message_full_confirm.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ message_full_confirm.set_size(120, 60)
+ message_full_confirm.set_pos(0,180)
+ message_full_confirm.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ message_full_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
+ message_full_confirm.set_ext_click_area(20)
+
+ message_full_cancel = lv.label(message_full_screen)
+ message_full_cancel.set_text("取消")
+ message_full_cancel.set_size(120, 60)
+ message_full_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ message_full_cancel.set_pos(120,180)
+ message_full_cancel.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ message_full_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
+ message_full_cancel.set_ext_click_area(20)
+ self.meta = message_full_screen
+
+ message_full_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
+ message_full_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
+
+ def remove_all_sms_cb(self, event, msg):
+ sms.deleteMsg(1,4)
+
+ def confirm(self, e):
+ print("sms confirm!!!!!!!!")
+ # self.timer.start(2*1000,0,self.clear_data)
+ EventMesh.publish("load_screen", {"screen": "remove_message_popup"})
+ EventMesh.publish_async("remove_all_sms_cb","",1*1024)
+
+ def concel(self, e):
+ EventMesh.publish("return_prev_screen")
+
+ def done_left_to_right(self):
+ EventMesh.publish("return_prev_screen")
+
+ def done_right_to_left(self):
+ EventMesh.publish("return_prev_screen")
+ def done_bottom_to_top(self):
+ EventMesh.publish("return_prev_screen")
+
+ def done_top_to_bottom(self):
+ EventMesh.publish("return_prev_screen")
+
+ def done_return(self):
+ EventMesh.publish("return_prev_screen")
+ def btn1_release(self):
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+ def btn8_press(self):
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
############短信###############################
MSG_FLAG = 0
MSG_MAX = 5 #最大显示短信内容条数
if index != -1:
tmp = sms.searchTextMsg(index)
detail = tmp[1]#内容
+ print("msg_cb:detail {}".format,detail)
if detail.find("SETIP:") != -1:#寻找是否有这个字符串
tmp_test = detail.split("SETIP:")[1]
if tmp_test.find(":") != -1:
new_ip = tmp_test.split(':')[0]
- print("tmp_test:{} new_ip:{}".format(tmp_test,new_ip))
+ # print("tmp_test:{} new_ip:{}".format(tmp_test,new_ip))
new_com = tmp_test.split(':')[1]
# new_md5 = detail.split(':')[3]
if len(new_ip) > 0 and len(new_com) > 0:
style_sms_bg_btn.set_bg_opa(255)
style_sms_bg_btn.set_border_color(lv.color_make(0xff, 0xff, 0xff))
style_sms_bg_btn.set_border_opa(255)
+style_sms_bg_btn.set_border_width(0)
style_sms_bg_btn.set_pad_left(0)
style_sms_bg_btn.set_pad_right(0)
style_sms_bg_btn.set_pad_top(0)
msg_top_title = lv.label(msg_list_screen)
- msg_top_title.set_pos(0, 5)
- msg_top_title.set_size(LCD_X, 20)
+ msg_top_title.set_pos(0, 10)
+ msg_top_title.set_size(240, 40)
msg_top_title.set_text("信息")
msg_top_title.set_long_mode(lv.label.LONG.WRAP)
msg_top_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
msg_cont_list_screen = lv.obj(msg_list_screen)
- msg_cont_list_screen.set_pos(0, 30)
- msg_cont_list_screen.set_size(LCD_X, LCD_Y-30)
+ msg_cont_list_screen.set_pos(0, 50)
+ msg_cont_list_screen.set_size(240, 270)
msg_cont_list_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
msg_cont_list_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
msg_list_t_done_img = lv.img(msg_cont_list_screen)
- msg_list_t_done_img.set_pos(39, 10)
- msg_list_t_done_img.set_size(50, 44)
- msg_list_t_done_img.set_src("U:/static/IMAGE_NOTICE_NONE.png")
+ msg_list_t_done_img.set_pos(53, 20)
+ msg_list_t_done_img.set_size(134, 117)
+ msg_list_t_done_img.set_src("E:/static/IMAGE_NOTICE_NONE.png")
msg_list_t_done_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
no_msg_text = lv.label(msg_cont_list_screen)
- no_msg_text.set_pos(0, 75)
- no_msg_text.set_size(LCD_X, 20)
+ no_msg_text.set_pos(0, 210)
+ no_msg_text.set_size(240, 40)
no_msg_text.set_text("暂无信息")
no_msg_text.set_long_mode(lv.label.LONG.WRAP)
no_msg_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
self.sms_detail_list = lv.obj(msg_cont_list_screen)
self.sms_detail_list.set_pos(0, 0)
- self.sms_detail_list.set_size(LCD_X, 129)
+ self.sms_detail_list.set_size(230, 271)
self.sms_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
self.sms_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
for i in range(MSG_MAX):
_btn_label3 = lv.label(msg_btn)
_btn_label4 = lv.label(msg_btn)
_btn_label5 = lv.label(msg_btn)
+ msg_btn.add_style(style_sms_bg_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ _btn_label4.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ _btn_label5.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
self.sms_detail_list_dict.append({"msg_btn":msg_btn,"_btn_label2":_btn_label2,"_btn_label3":_btn_label3,
"_btn_label4":_btn_label4,"_btn_label5":_btn_label5})
self.meta = msg_list_screen
if msg_cont_list_screen != None:
msg_list_t_done_img.clear_flag(lv.obj.FLAG.HIDDEN)
no_msg_text.clear_flag(lv.obj.FLAG.HIDDEN)
- self.sms_detail_list.add_flag(lv.obj.FLAG.HIDDEN)
no_msg_text.set_text("正在加载···")
if self.sms_detail_list != None:
self.sms_detail_list.add_flag(lv.obj.FLAG.HIDDEN)
tmp = self.sms_data[i]
if tmp != -1:
#msg_btn = lv.btn(self.sms_detail_list)
- self.sms_detail_list_dict[i]["msg_btn"].set_size(LCD_X,45)
- self.sms_detail_list_dict[i]["msg_btn"].set_pos(0,47*count)
- self.sms_detail_list_dict[i]["msg_btn"].add_style(style_sms_bg_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.sms_detail_list_dict[i]["msg_btn"].set_size(230,65)
+ self.sms_detail_list_dict[i]["msg_btn"].set_pos(0,67*count)
+ #self.sms_detail_list_dict[i]["msg_btn"].add_style(style_sms_bg_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
# self.sms_detail_list_dict[i]["msg_btn"].add_event_cb(lambda e: EventMesh.callback_wrapper(self.sms_cb(e)),
# lv.EVENT.CLICKED, None)
detail1 = tmp[1]
#_btn_label4 = lv.label(msg_btn)
- self.sms_detail_list_dict[i]["_btn_label4"].set_pos(5, 24)
- self.sms_detail_list_dict[i]["_btn_label4"].set_size(LCD_X-15, 21)
+ self.sms_detail_list_dict[i]["_btn_label4"].set_pos(0, 34)
+ self.sms_detail_list_dict[i]["_btn_label4"].set_size(230, 28)
self.sms_detail_list_dict[i]["_btn_label4"].set_text(detail1)
self.sms_detail_list_dict[i]["_btn_label4"].set_long_mode(lv.label.LONG.DOT)
- self.sms_detail_list_dict[i]["_btn_label4"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ #self.sms_detail_list_dict[i]["_btn_label4"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
title1 = tmp[0]
#_btn_label5 = lv.label(msg_btn)
- self.sms_detail_list_dict[i]["_btn_label5"].set_pos(5, 5)
- self.sms_detail_list_dict[i]["_btn_label5"].set_size(LCD_X-15, 20)
+ self.sms_detail_list_dict[i]["_btn_label5"].set_pos(0, 5)
+ self.sms_detail_list_dict[i]["_btn_label5"].set_size(230, 28)
self.sms_detail_list_dict[i]["_btn_label5"].set_text(title1)
self.sms_detail_list_dict[i]["_btn_label5"].set_long_mode(lv.label.LONG.DOT)
- self.sms_detail_list_dict[i]["_btn_label5"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ #self.sms_detail_list_dict[i]["_btn_label5"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
self.sms_detail_list_dict[i]["msg_btn"].clear_flag(lv.obj.FLAG.HIDDEN)
#if msg == 1:
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
-style_white_screen = lv.style_t()
-style_white_screen.init()
-style_white_screen.set_radius(0)
-style_white_screen.set_bg_color(lv.color_make(0xff, 0xff, 0xff))
-style_white_screen.set_bg_opa(255)
-style_white_screen.set_border_width(0)
-style_white_screen.set_pad_left(0)
-style_white_screen.set_pad_right(0)
-style_white_screen.set_pad_top(0)
-style_white_screen.set_pad_bottom(0)
-
-#灰色背景黑色字
-
-style_font_20_black_bg_gray = lv.style_t()
-style_font_20_black_bg_gray.init()
-style_font_20_black_bg_gray.set_text_color(lv.color_make(0x00, 0x00, 0x00))
-#style_font_youyuan_20.set_text_font_v2("font_28.bin",28,0)
-style_font_20_black_bg_gray.set_bg_color(lv.color_make(0xe1,0xdb,0xdb))
-style_font_20_black_bg_gray.set_text_font(lv.K01_font_16_ALL)
msg_detail_screen = None
msg_detail_title = None
msg_detail_cont = None
+msg_detail_cont_obj = None
class MsgDetailScreen(Screen):
NAME = "msg_detail"
msg_detail_screen = lv.obj()
print("msg_detail_screen")
msg_detail_screen.add_style(style_white_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- msg_detail_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+
msg_detail_title = lv.label(msg_detail_screen)
msg_detail_title.set_pos(0, 10)
- msg_detail_title.set_size(128, 20)
+ msg_detail_title.set_size(240, 35)
msg_detail_title.set_long_mode(lv.label.LONG.WRAP)
msg_detail_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- msg_detail_title.add_style(style_font_20_black_bg_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
+ msg_detail_title.add_style(style_font_28_black_bg_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
msg_detail_cont_obj = lv.obj(msg_detail_screen)
- msg_detail_cont_obj.set_pos(0, 30)
- msg_detail_cont_obj.set_size(128, 98)
- msg_detail_cont_obj.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ msg_detail_cont_obj.set_pos(0, 45)
+ msg_detail_cont_obj.set_size(240, 270)
msg_detail_cont_obj.add_style(style_white_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
msg_detail_cont = lv.label(msg_detail_cont_obj)
- msg_detail_cont.set_pos(5, 5)
- msg_detail_cont.set_width(118)
- msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.LEFT, 5)
- msg_detail_cont.add_style(style_font_20_black_bg_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
+ msg_detail_cont.set_pos(0, 5)
+ msg_detail_cont.set_size(240, lv.SIZE.CONTENT)
+ msg_detail_cont.set_long_mode(lv.label.LONG.WRAP)
+ msg_detail_cont.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+ msg_detail_cont.add_style(style_font_28_black_bg_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
self.meta = msg_detail_screen
#获取字符串
+
+
msg_detail_cont_obj.scroll_to(0, 0, lv.ANIM.OFF)
-
+
self.name = EventMesh.publish("get_msg_name")
self.content = EventMesh.publish("get_msg_content")
msg_detail_title.set_text(self.name)
# msg_detail_cont.set_size(240, tmp_y)
msg_detail_cont.set_text(self.content)
-
-
+
+ def post_processor_after_initialization(self):
+ size = msg_detail_cont.get_height()
+ print("size:",size)
+
def done_return(self):
EventMesh.publish("load_screen", {"screen": "popup"})
heartrate_line_bg_img = lv.img(heartrate_screen)
heartrate_line_bg_img.set_pos(5, 60)
heartrate_line_bg_img.set_size(230, 120)
- heartrate_line_bg_img.set_src("U:/static/hr_line_bg.png")
+ heartrate_line_bg_img.set_src("E:/static/hr_line_bg.png")
heartrate_done_img = lv.img(heartrate_screen)
heartrate_done_img.set_pos(20, 249)
- heartrate_done_img.set_src("U:/static/hr_gif_03.png")
+ heartrate_done_img.set_src("E:/static/hr_gif_03.png")
heartrate_reset_btn_img = lv.img(heartrate_screen)
heartrate_reset_btn_img.set_pos(0, 192)
- heartrate_reset_btn_img.set_src("U:/static/reset_hr_btn.png")
+ heartrate_reset_btn_img.set_src("E:/static/reset_hr_btn.png")
heartrate_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
heartrate_reset_btn_img.add_flag(lv.obj.FLAG.CLICKABLE)
heartrate_start_label = lv.label(heartrate_screen)
heartrate_start_label.set_size(240,40)
heartrate_start_label.set_pos(0,200)
- heartrate_start_label.set_text(" ")
+ heartrate_start_label.set_text("正在测量中.")
heartrate_start_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
heartrate_start_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
heartrate_start_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
heartrate_bpm_label = lv.label(heartrate_screen)
heartrate_bpm_label.set_size(120, 40)
heartrate_bpm_label.set_pos(120, 270)
+ heartrate_bpm_label.set_text("-- bpm")
heartrate_bpm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
heartrate_bpm_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
global hr_line1,hr_line2,hr_line3,hr_line4,hr_line5,hr_line6,hr_line7
read_data = {}
read_data = EventMesh.publish("get_history_hr_value")
- print("hr history read_data",read_data)
- if read_data != None:
- count = len(read_data)
- if count != 0:
- if count >= 7:
- for i in range(count):
- value = read_data["0{}".format(i+1)]
- if value < 30:
- value = 30
- if value >= 210:
- value = 210
- line_value = value - 30 #180-80 = 100 160-100 = 60
- line_value = int(line_value*0.58)+1
- if line_value >= 100:
- line_value = 100
- #print("hr hist",line_value)
- hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if i == 0:
- hr_line1.set_points(hr_line_points,2)
- hr_line1.set_pos(25,160-line_value)
- hr_line1.set_size(10,line_value)
- if i == 1:
- hr_line2.set_points(hr_line_points,2)
- hr_line2.set_pos(53,160-line_value)
- hr_line2.set_size(10,line_value)
-
- if i == 2:
- hr_line3.set_points(hr_line_points,2)
- hr_line3.set_pos(80,160-line_value)
- hr_line3.set_size(10,line_value)
-
- if i == 3:
- hr_line4.set_points(hr_line_points,2)
- hr_line4.set_pos(109,160-line_value)
- hr_line4.set_size(10,line_value)
-
- if i == 4:
- hr_line5.set_points(hr_line_points,2)
- hr_line5.set_pos(136,160-line_value)
- hr_line5.set_size(10,line_value)
-
- if i == 5:
- hr_line6.set_points(hr_line_points,2)
- hr_line6.set_pos(164,160-line_value)
- hr_line6.set_size(10,line_value)
-
- if i == 6:
- hr_line7.set_points(hr_line_points,2)
- hr_line7.set_pos(192,160-line_value)
- hr_line7.set_size(10,line_value)
- else:
- value = read_data["0{}".format(count)]
+ if len(read_data) != 0:
+ sort_new = {}
+ sort_new = sorted(read_data, key = lambda i: i['timeSec'],reverse = False)#按照时间戳进行排序 去掉最旧的一次数据如果满了五十条
+ # print("hr history sort_new",sort_new)
+ if sort_new != []:
+ for i in range(len(sort_new)):
+ print(int(sort_new[i]["hr"]))
+ # print("hr history read_data",read_data)
+ value = int(sort_new[i]["hr"])
if value < 30:
value = 30
- if value >= 180:
- value = 180
+ if value >= 210:
+ value = 210
line_value = value - 30 #180-80 = 100 160-100 = 60
line_value = int(line_value*0.58)+1
- #
+ if line_value >= 100:
+ line_value = 100
+ #print("hr hist",line_value)
hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if count == 1:
+ if i == 0:
hr_line1.set_points(hr_line_points,2)
hr_line1.set_pos(25,160-line_value)
hr_line1.set_size(10,line_value)
- if count == 2:
+ if i == 1:
hr_line2.set_points(hr_line_points,2)
hr_line2.set_pos(53,160-line_value)
hr_line2.set_size(10,line_value)
- if count == 3:
+ if i == 2:
hr_line3.set_points(hr_line_points,2)
hr_line3.set_pos(80,160-line_value)
hr_line3.set_size(10,line_value)
- if count == 4:
+ if i == 3:
hr_line4.set_points(hr_line_points,2)
hr_line4.set_pos(109,160-line_value)
hr_line4.set_size(10,line_value)
- if count == 5:
+ if i == 4:
hr_line5.set_points(hr_line_points,2)
hr_line5.set_pos(136,160-line_value)
hr_line5.set_size(10,line_value)
- if count == 6:
+ if i == 5:
hr_line6.set_points(hr_line_points,2)
hr_line6.set_pos(164,160-line_value)
hr_line6.set_size(10,line_value)
- if count == 7:
+ if i == 6:
hr_line7.set_points(hr_line_points,2)
hr_line7.set_pos(192,160-line_value)
- hr_line7.set_size(10,line_value)
-
-
- def start_measure(self,*args):
+ hr_line7.set_size(10,line_value)
+ def start_measure(self,*args):
+ EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+ def start_measure_do(self,data):
global heartrate_screen,heartrate_label,heartrate_done_img ,heartrate_reset_btn_img,heartrate_start_label,heartrate_bpm_label ,heartrate_done_label
self.point = self.point + 1
EventMesh.publish("system_sleep_rest")#防止黑屏
self.heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
- print("self.heart_value:{}".format(self.heart_value))
+ WEAR = EventMesh.publish(constants.EVENT.GET_WEAR)#佩戴数据
+ #print("heart WEAR:{}".format(WEAR))
+ # print("self.heart_value:{}".format(self.heart_value))
if self.point >= 2:
if self.heart_value < 40:
self.heart_value = 0
if self.point%4 == 0 :
heartrate_start_label.set_text("正在测量中..")
- heartrate_done_img.set_src("U:/static/hr_gif_02.png")
+ heartrate_done_img.set_src("E:/static/hr_gif_02.png")
if self.point%4 == 1 :
heartrate_start_label.set_text("正在测量中...")
- heartrate_done_img.set_src("U:/static/hr_gif_01.png")
+ heartrate_done_img.set_src("E:/static/hr_gif_01.png")
if self.point%4 == 2 :
heartrate_start_label.set_text("正在测量中.")
- heartrate_done_img.set_src("U:/static/hr_gif_02.png")
+ heartrate_done_img.set_src("E:/static/hr_gif_02.png")
if self.point%4 == 3 :
heartrate_start_label.set_text("正在测量中.")
- heartrate_done_img.set_src("U:/static/hr_gif_03.png")
+ heartrate_done_img.set_src("E:/static/hr_gif_03.png")
- if self.point > 120: #测20s
- heartrate_done_img.set_src("U:/static/hr_gif_03.png")
+ if self.point > 120 or (WEAR == 0 and self.point > 10): #测60s或没佩戴
+ self.timer.stop()
+ heartrate_done_img.set_src("E:/static/hr_gif_03.png")
+
self.heart_value = EventMesh.publish(constants.EVENT.GET_HEART)
+ if WEAR == 0:
+ self.heart_value = 0
+ heartrate_start_label.set_text("佩戴异常,点击重测")
+ else :
+ heartrate_start_label.set_text("测量结束,点击重测")
+
if self.heart_value > 50:
EventMesh.publish("set_old_hr_data",self.heart_value)
EventMesh.publish("set_history_hr_value",self.heart_value)
EventMesh.publish(constants.PROTOCOL.HEART_SEND,self.heart_value)
heartrate_reset_btn_img.clear_flag(lv.obj.FLAG.HIDDEN)
- heartrate_start_label.set_text("测量结束,点击重测")
+
if self.heart_value != 0:
heartrate_bpm_label.set_text("{} bpm".format(self.heart_value))
# heartrate_done_label.set_text("测量完成")
else:
heartrate_bpm_label.set_text("-- bpm")
-
self.show_history_data()
-
- self.timer.stop()
self.point = 0
EventMesh.publish("set_hr_state",0)#0代表关闭测试
print("stop debug9")
global toolbox_screen,toolbox_text_img,toolbox_cont,toolbox_step_img,toolbox_weather_img ,toolbox_alarm_img ,\
toolbox_countdown_img,toolbox_stopwatch_img
if toolbox_screen == None:
- tool_set_y = 5
+ tool_set_y = 0
toolbox_screen = lv.obj()
print("toolbox_screen")
toolbox_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
toolbox_screen.set_scrollbar_mode(0)
- # toolbox_text_img = lv.img(toolbox_screen)
- # toolbox_text_img.set_pos(75, 10)
- # toolbox_text_img.set_size(90, 30)
- # toolbox_text_img.set_src("U:/static/tool/tool_text.png")
- # toolbox_text_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # toolbox_title = lv.label(toolbox_screen)
- # toolbox_title.set_pos(0, 5)
- # toolbox_title.set_size(128, 20)
- # toolbox_title.set_text("工具箱")
- # toolbox_title.set_long_mode(lv.label.LONG.WRAP)
- # toolbox_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # toolbox_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ toolbox_text_img = lv.img(toolbox_screen)
+ toolbox_text_img.set_pos(75, 10)
+ toolbox_text_img.set_size(90, 30)
+ toolbox_text_img.set_src("E:/static/tool/tool_text.png")
+ toolbox_text_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
toolbox_cont = lv.obj(toolbox_screen)
- toolbox_cont.set_pos(0, 0)
- toolbox_cont.set_size(128, 128)
+ toolbox_cont.set_pos(0, 50)
+ toolbox_cont.set_size(240, 270)
toolbox_cont.add_style(toolbox_cont_style,lv.PART.MAIN | lv.STATE.DEFAULT)
toolbox_step_img = lv.img(toolbox_cont)
- toolbox_step_img.set_pos(5, tool_set_y)
- toolbox_step_img.set_size(25, 25)
+ toolbox_step_img.set_pos(4, tool_set_y)
+ toolbox_step_img.set_size(232, 80)
toolbox_step_img.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_step_img.set_src("U:/static/IMAGE_SECMENU_STEP.png")
+ toolbox_step_img.set_src("E:/static/tool/IMAGE_SECMENU_STEP.png")
toolbox_step_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- toolbox_step_img_label = lv.label(toolbox_cont)
- toolbox_step_img_label.set_pos(35, tool_set_y+5)
- toolbox_step_img_label.set_size(128-35, 35)
- toolbox_step_img_label.set_text("计步")
- toolbox_step_img_label.set_long_mode(lv.label.LONG.WRAP)
- toolbox_step_img_label.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_step_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- toolbox_step_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- tool_set_y+=35
+ tool_set_y+=90
toolbox_weather_img = lv.img(toolbox_cont)
- toolbox_weather_img.set_pos(5, tool_set_y)
- toolbox_weather_img.set_size(25, 25)
+ toolbox_weather_img.set_pos(4, tool_set_y)
+ toolbox_weather_img.set_size(232, 80)
toolbox_weather_img.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_weather_img.set_src("U:/static/IMAGE_SECMENU_WEATHER.png")
+ toolbox_weather_img.set_src("E:/static/tool/IMAGE_SECMENU_WEATHER.png")
toolbox_weather_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- toolbox_weather_img_label = lv.label(toolbox_cont)
- toolbox_weather_img_label.set_pos(35, tool_set_y+5)
- toolbox_weather_img_label.set_size(128-35, 35)
- toolbox_weather_img_label.set_text("天气")
- toolbox_weather_img_label.set_long_mode(lv.label.LONG.WRAP)
- toolbox_weather_img_label.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_weather_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- toolbox_weather_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- tool_set_y+=35
+ tool_set_y+=90
toolbox_alarm_img = lv.img(toolbox_cont)
- toolbox_alarm_img.set_pos(5, tool_set_y)
- toolbox_alarm_img.set_size(25, 25)
+ toolbox_alarm_img.set_pos(4, tool_set_y)
+ toolbox_alarm_img.set_size(232, 80)
toolbox_alarm_img.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_alarm_img.set_src("U:/static/IMAGE_SECMENU_ALARM.png")
+ toolbox_alarm_img.set_src("E:/static/tool/IMAGE_SECMENU_ALARM.png")
toolbox_alarm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- toolbox_alarm_img_label = lv.label(toolbox_cont)
- toolbox_alarm_img_label.set_pos(35, tool_set_y+5)
- toolbox_alarm_img_label.set_size(128-35, 35)
- toolbox_alarm_img_label.set_text("闹钟")
- toolbox_alarm_img_label.set_long_mode(lv.label.LONG.WRAP)
- toolbox_alarm_img_label.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_alarm_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- toolbox_alarm_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
# tool_set_y+=90
# toolbox_sms_img = lv.img(toolbox_cont)
# toolbox_sms_img.set_pos(4, tool_set_y)
# toolbox_sms_img.set_size(232, 80)
# toolbox_sms_img.add_flag(lv.obj.FLAG.CLICKABLE)
- # toolbox_sms_img.set_src("U:/static/tool/sms_setting.png")
+ # toolbox_sms_img.set_src("E:/static/tool/sms_setting.png")
# toolbox_sms_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- tool_set_y+=35
+ tool_set_y+=90
toolbox_countdown_img = lv.img(toolbox_cont)
- toolbox_countdown_img.set_pos(5, tool_set_y)
- toolbox_countdown_img.set_size(25, 25)
+ toolbox_countdown_img.set_pos(4, tool_set_y)
+ toolbox_countdown_img.set_size(232, 80)
toolbox_countdown_img.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_countdown_img.set_src("U:/static/IMAGE_SECMENU_COUNTDOWN.png")
+ toolbox_countdown_img.set_src("E:/static/tool/IMAGE_SECMENU_COUNTDOWN.png")
toolbox_countdown_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- toolbox_countdown_img_label = lv.label(toolbox_cont)
- toolbox_countdown_img_label.set_pos(35, tool_set_y+5)
- toolbox_countdown_img_label.set_size(128-35, 35)
- toolbox_countdown_img_label.set_text("倒计时")
- toolbox_countdown_img_label.set_long_mode(lv.label.LONG.WRAP)
- toolbox_countdown_img_label.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_countdown_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- toolbox_countdown_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- tool_set_y+=35
+ tool_set_y+=90
toolbox_stopwatch_img = lv.img(toolbox_cont)
- toolbox_stopwatch_img.set_pos(5, tool_set_y)
- toolbox_stopwatch_img.set_size(25, 25)
+ toolbox_stopwatch_img.set_pos(4, tool_set_y)
+ toolbox_stopwatch_img.set_size(232, 80)
toolbox_stopwatch_img.add_flag(lv.obj.FLAG.CLICKABLE)
- toolbox_stopwatch_img.set_src("U:/static/IMAGE_SECMENU_STOPWATCH.png")
+ toolbox_stopwatch_img.set_src("E:/static/tool/IMAGE_SECMENU_STOPWATCH.png")
toolbox_stopwatch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- toolbox_stopwatch_img_label = lv.label(toolbox_cont)
- toolbox_stopwatch_img_label.set_pos(35, tool_set_y+5)
- toolbox_stopwatch_img_label.set_size(128-35, 35)
- toolbox_stopwatch_img_label.set_text("秒表")
- toolbox_stopwatch_img_label.set_long_mode(lv.label.LONG.WRAP)
-
- toolbox_stopwatch_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- toolbox_stopwatch_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- toolbox_stopwatch_img_label_btn = lv.label(toolbox_cont)
- toolbox_stopwatch_img_label_btn.set_pos(0, tool_set_y)
- toolbox_stopwatch_img_label_btn.set_size(128, 45)
- toolbox_stopwatch_img_label_btn.set_text(" ")
- toolbox_stopwatch_img_label_btn.set_long_mode(lv.label.LONG.WRAP)
- toolbox_stopwatch_img_label_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- 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_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_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_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)
-
-
self.meta = toolbox_screen
def done_return(self):
def __init__(self):
super().__init__()
self.CALL_LOG_MAX = CALL_LOG_MAX
- self.read_data = {}
- self.meta_type = "popup"
+
self.aud = audio.Audio(0)
+
self.call_timer = osTimer()
self.name = None
self.phonebook = {}
incoming_call_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
incoming_call_img = lv.img(incoming_call_screen)
- incoming_call_img.set_pos(48, 10)
- incoming_call_img.set_size(32, 32)
- incoming_call_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
+ incoming_call_img.set_pos(80, 20)
+ incoming_call_img.set_size(64, 64)
+ incoming_call_img.set_src("E:/static/IMAGE_NOTICE_CALL.png")
incoming_call_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
incoming_call_name_label = lv.label(incoming_call_screen)
- incoming_call_name_label.set_pos(0, 50)
+ incoming_call_name_label.set_pos(0, 140)
incoming_call_name_label.set_text(" ")
- incoming_call_name_label.set_size(128, 40)
+ incoming_call_name_label.set_size(240, 50)
incoming_call_name_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
incoming_call_name_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
incoming_call_answer = lv.img(incoming_call_screen)
- incoming_call_answer.set_size(32, 32)
+ incoming_call_answer.set_size(64, 64)
incoming_call_answer.add_flag(lv.obj.FLAG.CLICKABLE)
- incoming_call_answer.set_pos(84, 85)
+ incoming_call_answer.set_pos(150, 220)
incoming_call_answer.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- incoming_call_answer.set_src("U:/static/answer.png")
+ incoming_call_answer.set_src("E:/static/answer.png")
incoming_call_hangup = lv.img(incoming_call_screen)
- incoming_call_hangup.set_size(32, 32)
+ incoming_call_hangup.set_size(64, 64)
incoming_call_hangup.add_flag(lv.obj.FLAG.CLICKABLE)
- incoming_call_hangup.set_pos(11, 85)
+ incoming_call_hangup.set_pos(30, 220)
incoming_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- incoming_call_hangup.set_src("U:/static/hang_up.png")
+ incoming_call_hangup.set_src("E:/static/hang_up.png")
+
incoming_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
lv.EVENT.CLICKED, None)
incoming_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
tmp["number"] = self.meta_info
self.read_call_log[self.meta_info] = tmp
- with open("/usr/static/storage_file/Call_log.json","w",encoding="utf-8") as fd:
+ with open("/ext/static/storage_file/Call_log.json","w",encoding="utf-8") as fd:
ujson.dump(self.read_call_log,fd)
print("创建通话记录")
EventMesh.publish("set_call_log_list", [1,self.read_call_log])
def __init__(self):
super().__init__()
self.meta = None
- self.meta_type = "popup"
self.count_sec = 0
self.timer = osTimer()
self.aud = audio.Audio(0)
- # self.aud.set_pa(Pin.GPIO29)
- self.read_data = {}
self.volum_size = 8
self.open_volum = 0
self.phone_num = ''
self.phone_list = []
self.button = 0
+ self.mute_btn = 0
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
on_call_phone_zero ,on_call_phone_hash,on_call_phone_return_btn,\
on_call_screen_tab
if on_call_screen ==None :
- size_x = 36 #按钮大小
- size_y = 22
- start_x = 5
- start_y = 25
- offset_y = 4
-
on_call_screen = lv.obj()
on_call_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_obj = lv.obj(on_call_screen)
- on_call_obj.set_size(128,128)
+ on_call_obj.set_size(240,320)
on_call_obj.set_pos(0,0)
on_call_obj.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
print("on_call_screen")
on_call_label_name = lv.label(on_call_obj)
- on_call_label_name.set_pos(0, 5)
- on_call_label_name.set_size(128, 40)
+ on_call_label_name.set_pos(0, 80)
+ on_call_label_name.set_size(240, 50)
on_call_label_name.set_text(" ")
on_call_label_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
on_call_label_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_second_label = lv.label(on_call_obj)
- on_call_second_label.set_pos(0, 35)
- on_call_second_label.set_size(128, 20)
+ on_call_second_label.set_pos(0, 140)
+ on_call_second_label.set_size(240, 30)
on_call_second_label.set_text("00:00")
on_call_second_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
on_call_second_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_bar = lv.bar(on_call_obj)
- on_call_bar.set_pos(28, 65)
- on_call_bar.set_size(72, 12)
+ on_call_bar.set_pos(49, 183)
+ on_call_bar.set_size(140, 25)
on_call_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
on_call_bar.set_mode(lv.bar.MODE.NORMAL)
on_call_bar.set_value(50, lv.ANIM.OFF)
on_call_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
on_call_volum_reduce = lv.img(on_call_obj)
- on_call_volum_reduce.set_size(18, 18)
- # on_call_volum_reduce.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_volum_reduce.set_pos(5, 62)
+ on_call_volum_reduce.set_size(36, 36)
+ on_call_volum_reduce.set_pos(4, 178)
on_call_volum_reduce.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_volum_reduce.set_src("U:/static/REDUCE_VOLUM_ICON.png")
- # on_call_volum_reduce.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
- # lv.EVENT.CLICKED, None)
+ on_call_volum_reduce.set_src("E:/static/REDUCE_VOLUM_ICON.png")
- on_call_volum_reduce_btn = lv.img(on_call_obj)
- on_call_volum_reduce_btn.set_size(80, 40)
- on_call_volum_reduce_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_volum_reduce_btn.set_pos(48, 50)
- on_call_volum_reduce_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)),
- lv.EVENT.CLICKED, None)
+ on_call_volum_reduce_btn = lv.label(on_call_obj)
+ on_call_volum_reduce_btn.set_pos(0, 170)
+ on_call_volum_reduce_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ on_call_volum_reduce_btn.set_size(60, 50)
+ on_call_volum_reduce_btn.set_text(" ")
+ on_call_volum_reduce_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
+ lv.EVENT.CLICKED, None)
on_call_volum_add = lv.img(on_call_obj)
- on_call_volum_add.set_size(18, 18)
- # on_call_volum_add.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_volum_add.set_pos(105, 62)
+ on_call_volum_add.set_size(36, 36)
+ on_call_volum_add.set_pos(194, 178)
on_call_volum_add.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_volum_add.set_src("U:/static/VOLUM_ADD_ICON.png")
- # on_call_volum_add.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)),
- # lv.EVENT.CLICKED, None)
+ on_call_volum_add.set_src("E:/static/VOLUM_ADD_ICON.png")
+
- on_call_volum_add_btn = lv.img(on_call_obj)
- on_call_volum_add_btn.set_size(40, 40)
+ on_call_volum_add_btn = lv.label(on_call_obj)
+ on_call_volum_add_btn.set_pos(180, 170)
on_call_volum_add_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_volum_add_btn.set_pos(0, 50)
- on_call_volum_add_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
- lv.EVENT.CLICKED, None)
+ on_call_volum_add_btn.set_size(60, 50)
+ on_call_volum_add_btn.set_text(" ")
+ on_call_volum_add_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)),
+ lv.EVENT.CLICKED, None)
on_call_volum_label = lv.label(on_call_obj)
- on_call_volum_label.set_pos(0, 100)
+ on_call_volum_label.set_pos(0, 270)
on_call_volum_label.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_volum_label.set_size(48, 28)
+ on_call_volum_label.set_size(85, 50)
on_call_volum_label.set_text("静音")
on_call_volum_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
on_call_volum_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
lv.EVENT.CLICKED, None)
on_call_hangup = lv.img(on_call_obj)
- on_call_hangup.set_size(32, 32)
+ on_call_hangup.set_size(64, 64)
on_call_hangup.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_hangup.set_pos(48, 90)
+ on_call_hangup.set_pos(85, 245)
on_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_hangup.set_src("U:/static/hang_up.png")
+ on_call_hangup.set_src("E:/static/hang_up.png")
on_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
lv.EVENT.CLICKED, None)
on_call_tab_label = lv.label(on_call_obj)
- on_call_tab_label.set_pos(80, 100)
+ on_call_tab_label.set_pos(150, 270)
on_call_tab_label.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_tab_label.set_size(48, 28)
+ on_call_tab_label.set_size(90, 50)
on_call_tab_label.set_text("键盘")
on_call_tab_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
on_call_tab_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
lv.EVENT.CLICKED, None)
on_call_screen_tab = lv.obj(on_call_screen)
- on_call_screen_tab.set_size(128,128)
+ on_call_screen_tab.set_size(240,320)
on_call_screen_tab.set_pos(0,0)
on_call_screen_tab.add_flag(lv.obj.FLAG.HIDDEN)
on_call_screen_tab.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_screen_tab_label = lv.label(on_call_screen_tab)
- on_call_screen_tab_label.set_pos(40, 5)
- on_call_screen_tab_label.set_size(0, 20)
+ on_call_screen_tab_label.set_pos(40, 34)
+ on_call_screen_tab_label.set_size(0, 30)
on_call_screen_tab_label.set_text(" ")
on_call_screen_tab_label.set_long_mode(lv.label.LONG.CLIP)
on_call_screen_tab_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_screen_tab_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
on_call_phone_return = lv.img(on_call_screen_tab)
- on_call_phone_return.set_src("U:/static/RED_RETURN_PNG.png")
+ on_call_phone_return.set_src("E:/static/RED_RETURN_PNG.png")
on_call_phone_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_return.set_pos(0, 5)
- on_call_phone_return.set_size(18, 18)
+ on_call_phone_return.set_pos(0, 30)
+ on_call_phone_return.set_size(36, 36)
on_call_phone_return_btn = lv.img(on_call_screen_tab)
on_call_phone_return_btn.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_return_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
on_call_phone_return_btn.set_pos(0, 0)
- on_call_phone_return_btn.set_size(50, 25)
+ on_call_phone_return_btn.set_size(50, 100)
on_call_phone_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.on_return_show(e)),
lv.EVENT.CLICKED, None)
+
on_call_phone_one = lv.img(on_call_screen_tab)
- on_call_phone_one.set_src("U:/static/IMAGE_NUMBER_KEY1_ICON.png")
+ on_call_phone_one.set_src("E:/static/IMAGE_NUMBER_KEY1_ICON.png")
on_call_phone_one.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_one.set_pos(start_x, start_y)
- on_call_phone_one.set_size(size_x, size_y)
+ on_call_phone_one.set_pos(3, 110)
+ on_call_phone_one.set_size(76, 50)
on_call_phone_two = lv.img(on_call_screen_tab)
- on_call_phone_two.set_size(size_x, size_y)
- on_call_phone_two.set_src("U:/static/IMAGE_NUMBER_KEY2_ICON.png")
+ on_call_phone_two.set_size(76, 50)
+ on_call_phone_two.set_src("E:/static/IMAGE_NUMBER_KEY2_ICON.png")
on_call_phone_two.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_two.set_pos(start_x+size_x+5*1, start_y)
+ on_call_phone_two.set_pos(82, 110)
on_call_phone_three = lv.img(on_call_screen_tab)
- on_call_phone_three.set_size(size_x, size_y)
- on_call_phone_three.set_src("U:/static/IMAGE_NUMBER_KEY3_ICON.png")
+ on_call_phone_three.set_size(76, 50)
+ on_call_phone_three.set_src("E:/static/IMAGE_NUMBER_KEY3_ICON.png")
on_call_phone_three.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_three.set_pos(start_x+size_x*2+5*2, start_y)
+ on_call_phone_three.set_pos(161, 110)#1
on_call_phone_four = lv.img(on_call_screen_tab)
- on_call_phone_four.set_size(size_x, size_y)
- on_call_phone_four.set_src("U:/static/IMAGE_NUMBER_KEY4_ICON.png")
+ on_call_phone_four.set_size(76, 50)
+ on_call_phone_four.set_src("E:/static/IMAGE_NUMBER_KEY4_ICON.png")
on_call_phone_four.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_four.set_pos(start_x, start_y+size_y+offset_y)
+ on_call_phone_four.set_pos(3, 162)
on_call_phone_five = lv.img(on_call_screen_tab)
- on_call_phone_five.set_size(size_x, size_y)
- on_call_phone_five.set_src("U:/static/IMAGE_NUMBER_KEY5_ICON.png")
+ on_call_phone_five.set_size(76, 50)
+ on_call_phone_five.set_src("E:/static/IMAGE_NUMBER_KEY5_ICON.png")
on_call_phone_five.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_five.set_pos(start_x+size_x+5*1, start_y+size_y+offset_y)
+ on_call_phone_five.set_pos(82, 162)
on_call_phone_six = lv.img(on_call_screen_tab)
- on_call_phone_six.set_size(size_x, size_y)
- on_call_phone_six.set_src("U:/static/IMAGE_NUMBER_KEY6_ICON.png")
+ on_call_phone_six.set_size(76, 50)
+ on_call_phone_six.set_src("E:/static/IMAGE_NUMBER_KEY6_ICON.png")
on_call_phone_six.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_six.set_pos(start_x+size_x*2+5*2, start_y+size_y+offset_y)
+ on_call_phone_six.set_pos(161, 162)#2
on_call_phone_seven = lv.img(on_call_screen_tab)
- on_call_phone_seven.set_size(size_x, size_y)
- on_call_phone_seven.set_src("U:/static/phone_seven_icon.png")
+ on_call_phone_seven.set_size(76, 50)
+ on_call_phone_seven.set_src("E:/static/IMAGE_NUMBER_KEY7_ICON.png")
on_call_phone_seven.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_seven.set_pos(start_x, start_y+size_y*2+offset_y*2)
+ on_call_phone_seven.set_pos(3, 214)
on_call_phone_eight = lv.img(on_call_screen_tab)
- on_call_phone_eight.set_size(size_x, size_y)
- on_call_phone_eight.set_src("U:/static/IMAGE_NUMBER_KEY8_ICON.png")
+ on_call_phone_eight.set_size(76, 50)
+ on_call_phone_eight.set_src("E:/static/IMAGE_NUMBER_KEY8_ICON.png")
on_call_phone_eight.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_eight.set_pos(start_x+size_x+5*1, start_y+size_y*2+offset_y*2)
+ on_call_phone_eight.set_pos(82, 214)
on_call_phone_nine = lv.img(on_call_screen_tab)
- on_call_phone_nine.set_size(size_x, size_y)
- on_call_phone_nine.set_src("U:/static/phnone_nine_icon.png")
+ on_call_phone_nine.set_size(76, 50)
+ on_call_phone_nine.set_src("E:/static/IMAGE_NUMBER_KEY9_ICON.png")
on_call_phone_nine.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_nine.set_pos(start_x+size_x*2+5*2, start_y+size_y*2+offset_y*2)
-
-
- on_call_phone_xing = lv.img(on_call_screen_tab)
- on_call_phone_xing.set_size(size_x, size_y)
- on_call_phone_xing.set_src("U:/static/xing_icon.png")
- on_call_phone_xing.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_phone_xing.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_xing.set_pos(start_x, start_y+size_y*3+offset_y*3)
+ on_call_phone_nine.set_pos(161, 214)
+ on_call_phone_start = lv.img(on_call_screen_tab)
+ on_call_phone_start.set_size(76, 50)
+ on_call_phone_start.set_src("E:/static/IMAGE_NUMBER_KEYSTAR_ICON.png")
+ on_call_phone_start.add_flag(lv.obj.FLAG.CLICKABLE)
+ on_call_phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ on_call_phone_start.set_pos(3, 266)
on_call_phone_zero = lv.img(on_call_screen_tab)
- on_call_phone_zero.set_size(size_x, size_y)
- on_call_phone_zero.set_src("U:/static/IMAGE_NUMBER_KEY0_ICON.png")
+ on_call_phone_zero.set_size(76, 50)
+ on_call_phone_zero.set_src("E:/static/IMAGE_NUMBER_KEY0_ICON.png")
on_call_phone_zero.add_flag(lv.obj.FLAG.CLICKABLE)
on_call_phone_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_zero.set_pos(start_x+size_x+5*1, start_y+size_y*3+offset_y*3)
-
-
- on_call_phone_jing = lv.img(on_call_screen_tab)
- on_call_phone_jing.set_size(size_x, size_y)
- on_call_phone_jing.set_src("U:/static/jing_icon.png")
- on_call_phone_jing.add_flag(lv.obj.FLAG.CLICKABLE)
- on_call_phone_jing.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- on_call_phone_jing.set_pos(start_x+size_x*2+5*2, start_y+size_y*3+offset_y*3)
-
-
-
+ on_call_phone_zero.set_pos(82, 266)
+ on_call_phone_hash = lv.img(on_call_screen_tab)
+ on_call_phone_hash.set_size(76, 50)
+ on_call_phone_hash.set_src("E:/static/IMAGE_NUMBER_KEYHASH_ICON.png")
+ on_call_phone_hash.add_flag(lv.obj.FLAG.CLICKABLE)
+ on_call_phone_hash.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ on_call_phone_hash.set_pos(161, 266)
self.meta = on_call_screen
- on_call_phone_jing.add_event_cb(lambda e: EventMesh.callback_wrapper(self.jingpressed_start(e)),
- lv.EVENT.CLICKED, None)
- on_call_phone_xing.add_event_cb(lambda e: EventMesh.callback_wrapper(self.xingpressed_start(e)),
- lv.EVENT.CLICKED, None)
on_call_phone_one.add_event_cb(lambda e: EventMesh.callback_wrapper(self.one(e)),
lv.EVENT.CLICKED, None)
lv.EVENT.CLICKED, None)
on_call_phone_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)),
lv.EVENT.CLICKED, None)
- on_call_phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
+ on_call_phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.seven(e)),
lv.EVENT.CLICKED, None)
-
on_call_phone_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)),
lv.EVENT.CLICKED, None)
+ on_call_phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine(e)),
+ lv.EVENT.CLICKED, None)
+ on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
+ lv.EVENT.CLICKED, None)
- on_call_phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine_endpressed_start(e)),
- lv.EVENT.CLICKED, None)
-
- # phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
- # lv.EVENT.CLICKED, None)
+ on_call_phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
+ lv.EVENT.CLICKED, None)#短按显示*
- on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)#短按显示*
-
- on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
+ on_call_phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
lv.EVENT.LONG_PRESSED, None)#长按显示+
- on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero_endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
-
-
+ on_call_phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
+ lv.EVENT.RELEASED, None)#释放按键
+
+ on_call_phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)),
+ lv.EVENT.CLICKED, None)
name = EventMesh.publish("get_phonename")
on_call_label_name.set_text(name)
# on_call_label.set_text(str(self.meta_info))
on_call_second_label.set_text("00:00")
+ on_call_volum_label.set_style_text_color(lv.color_make(255,255,255), lv.STATE.DEFAULT)
self.phone_num = ''
self.phone_list = []
self.button = 0
- self.mute_state = 0
- on_call_volum_label.set_style_text_color(lv.color_make(255,255,255), lv.STATE.DEFAULT)
+ self.mute_btn = 0
voiceCall.mute(2,0,0)
def show_num(self):
global on_call_screen_tab_label
- #print("phone self.phone_num ",self.phone_num,self.phone_list)
- on_call_screen_tab_label.set_size(128-30, 20)
- on_call_screen_tab_label.set_pos(20, 5)
+ print("phone self.phone_num ",self.phone_num,self.phone_list)
+ on_call_screen_tab_label.set_size(200, 30)
on_call_screen_tab_label.set_text(self.phone_num)
def one(self,e):
if len(self.phone_list) >= ON_CALL_MAX_DATA:
self.phone_num = ''.join(self.phone_list)
self.show_num()
- def zero_endpressed_start(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- #self.phone_list.pop(0)
- return
-
- if self.button == 1:#长按
- self.phone_list.append("+")
- voiceCall.startDtmf("+",100)
- else:#短按
- self.phone_list.append("0")
- voiceCall.startDtmf("0",100)
-
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def nine_endpressed_start(self,e):
- if len(self.phone_list) >= PHONE_CALL_MAX_DATA:#限制拨号数量20个数字
- #self.phone_list.pop(0)
- return
-
- # if self.button == 1:#长按
- # self.phone_list.append("#")
- # voiceCall.startDtmf("#",100)
- # else:#短按
- self.phone_list.append("9")
- voiceCall.startDtmf("9",100)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
def start(self,e):
self.button = 0
self.timer_cb = 0
self.timer.stop()
- def xingpressed_start(self,e):
+ def endpressed_start(self,e):
if len(self.phone_list) >= ON_CALL_MAX_DATA:#限制拨号数量20个数字
self.phone_list.pop(0)
#return
# if self.button == 1:#长按
- # voiceCall.startDtmf("*",100)
- # self.phone_list.append("*")
+ # voiceCall.startDtmf("+",100)
+ # self.phone_list.append("+")
# else:#短按
voiceCall.startDtmf("*",100)
self.phone_list.append("*")
self.phone_num = ''.join(self.phone_list)
self.show_num()
-
- def jingpressed_start(self,e):
- if len(self.phone_list) >= ON_CALL_MAX_DATA:#限制拨号数量20个数字
- self.phone_list.pop(0)
- #return
-
- # if self.button == 1:#长按
- # voiceCall.startDtmf("*",100)
- # self.phone_list.append("*")
- # else:#短按
- voiceCall.startDtmf("#",100)
- self.phone_list.append("#")
-
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
-
- def endpressed_start(self,e):
- if len(self.phone_list) >= ON_CALL_MAX_DATA:#限制拨号数量20个数字
- self.phone_list.pop(0)
- #return
-
- # if self.button == 1:#长按
- # voiceCall.startDtmf("*",100)
- # self.phone_list.append("*")
- # else:#短按
- voiceCall.startDtmf("7",100)
- self.phone_list.append("7")
-
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
def hash(self,e):
if len(self.phone_list) >= ON_CALL_MAX_DATA:#限制拨号数量20个数字
def open_volum_show(self, e):
global on_call_screen_tab,on_call_screen,on_call_obj
- if self.mute_state == 0:#默认是开启
- self.mute_state = 1
+ if self.mute_btn == 0:#默认是开启
+ self.mute_btn = 1
voiceCall.mute(2,1,0)
on_call_volum_label.set_style_text_color(lv.color_make(0, 169, 242), lv.STATE.DEFAULT)
else:
- on_call_volum_label.set_style_text_color(lv.color_make(255,255,255), lv.STATE.DEFAULT)
- self.mute_state = 0
+
+ on_call_volum_label.set_style_text_color(lv.color_make(255, 255, 255), lv.STATE.DEFAULT)
+ self.mute_btn = 0
voiceCall.mute(2,0,0)
# self.aud.setVolume(0)
# if self.open_volum_state == 1:
if msg == 1:
self.aud.setVolume(self.volum_size)
EventMesh.publish("set_volum_size",self.volum_size)
+
def post_processor_after_initialization(self):
global on_call_screen_tab,on_call_obj
self.count_sec = 0
self.timer.start(1000,1,self.refresh)
- self.read_data = EventMesh.publish("get_storage_data")
- # print("self.read_data:{}".format(self.read_data))
+
num = EventMesh.publish("get_volum_size")
if num == None:
self.volum_size = 8
else:
self.volum_size = num
- self.aud.setVolume(self.volum_size)
self.show_bar(0)
self.open_volum = 0
self.phone_num = ''
if on_call_screen_tab != None:
on_call_screen_tab.add_flag(lv.obj.FLAG.HIDDEN)
self.show_num()
-
-
def refresh(self,e):
+ EventMesh.publish("publish_message_event_ui",{"func":self.refresh_do,"data":0})
+
+ def refresh_do(self,data):
# print("call_in")
global on_call_screen,on_call_label_name,on_call_second_label ,on_call_hangup
min = self.count_sec/60
step_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
step_label = lv.label(step_screen)
- step_label.set_pos(10, 10)
- step_label.set_size(128-10, 20)
+ step_label.set_pos(10, 30)
+ step_label.set_size(230, 50)
step_label.set_text("今日步数")
step_label.set_long_mode(lv.label.LONG.WRAP)
step_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
step_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
step_label_01 = lv.label(step_screen)
- step_label_01.set_pos(0, 50)
- step_label_01.set_size(128, 20)
+ step_label_01.set_pos(0, 100)
+ step_label_01.set_size(240, 50)
step_label_01.set_text("0步")
step_label_01.set_long_mode(lv.label.LONG.WRAP)
step_label_01.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
step_label_01.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
step_img = lv.img(step_screen)
- step_img.set_pos(49, 80)
- step_img.set_size(20, 33)
- step_img.set_src("U:/static/IMAGE_STEP.png")
+ step_img.set_pos(100, 150)
+ step_img.set_size(40, 65)
+ step_img.set_src("E:/static/IMAGE_STEP.png")
step_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
self.meta = step_screen
weather_img = lv.img(weather_screen)
weather_img.set_pos(10, 10)
- weather_img.set_size(45, 40)
+ weather_img.set_size(135, 120)
+
weather_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
no_weather_img = lv.img(weather_screen)
no_weather_img.set_pos(10, 10)
- no_weather_img.set_size(45, 40)
- no_weather_img.set_src("U:/static/update.png")
+ no_weather_img.set_size(135, 120)
+ no_weather_img.set_src("E:/static/update.png")
no_weather_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
weather_tem_label = lv.label(weather_screen)
- weather_tem_label.set_pos(65, 11)
- weather_tem_label.set_size(45, 20)
+ weather_tem_label.set_pos(155, 44)
+ weather_tem_label.set_size(60, 50)
weather_tem_label.set_text("_ _")
weather_tem_label.set_long_mode(lv.label.LONG.WRAP)
- weather_tem_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+ weather_tem_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
weather_tem_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_weather_degree = lv.img(weather_screen)
- no_weather_degree.set_pos(88, 15)
- no_weather_degree.set_size(11, 11)
+ no_weather_degree.set_pos(200, 40)
+ no_weather_degree.set_size(22, 22)
no_weather_degree.set_src("U:/static/degree.png")
no_weather_degree.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
weather_detail_label = lv.label(weather_screen)
- weather_detail_label.set_pos(65, 30)
- weather_detail_label.set_size(50, 50)
+ weather_detail_label.set_pos(155, 80)
+ weather_detail_label.set_size(85, 50)
weather_detail_label.set_text("-/-")
weather_detail_label.set_long_mode(lv.label.LONG.WRAP)
- weather_detail_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+ weather_detail_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
weather_detail_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- # weather_location_label = lv.label(weather_screen)
- # weather_location_label.set_pos(0, 60)
- # weather_location_label.set_size(128, 50)
- # weather_location_label.set_text("--")
- # weather_location_label.set_long_mode(lv.label.LONG.WRAP)
- # weather_location_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # weather_location_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ weather_location_label = lv.label(weather_screen)
+ weather_location_label.set_pos(0, 200)
+ weather_location_label.set_size(240, 50)
+ weather_location_label.set_text("--")
+ weather_location_label.set_long_mode(lv.label.LONG.WRAP)
+ weather_location_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ weather_location_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_connect_label = lv.label(weather_screen)
- no_connect_label.set_pos(0, 60)
- no_connect_label.set_size(128, 20)
+ no_connect_label.set_pos(0, 200)
+ no_connect_label.set_size(240, 40)
no_connect_label.set_text("找不到服务器")
no_connect_label.set_long_mode(lv.label.LONG.WRAP)
no_connect_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_connect_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
no_connect_label1 = lv.label(weather_screen)
- no_connect_label1.set_pos(0, 90)
- no_connect_label1.set_size(128, 20)
+ no_connect_label1.set_pos(0, 250)
+ no_connect_label1.set_size(240, 70)
no_connect_label1.set_text("请联网后重试")
no_connect_label1.set_long_mode(lv.label.LONG.WRAP)
no_connect_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
no_connect_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
self.meta = weather_screen
- EventMesh.publish(constants.EVENT.START_LOCATION,constants.PROTOCOL.WT_SEND) #开始WT定位
+ #EventMesh.publish(constants.PROTOCOL.WT_SEND)
+ EventMesh.publish(constants.EVENT.START_LOCATION,constants.PROTOCOL.WT_SEND) #开始WT定位
def post_processor_after_initialization(self):
EventMesh.publish("updata_weather_show")
if no_data != 0 :
no_weather_img.add_flag(lv.obj.FLAG.HIDDEN)
weather_img.clear_flag(lv.obj.FLAG.HIDDEN)
- # no_connect_label.set_text(" ")
+ no_connect_label.set_text(" ")
no_connect_label1.set_text(" ")
# print("self.weather_data:{}".format(self.weather_data))
type = self.weather_data[3]
if type == None:
- weather_img.set_src("U:/static/update.png")#天气类型
+ weather_img.set_src("E:/static/update.png")#天气类型
else:
- weather_img.set_src("U:/static/{}_weather.png".format(type))#天气类型
+ weather_img.set_src("E:/static/{}_weather.png".format(type))#天气类型
temp = self.weather_data[4]
if temp == None:
+ no_weather_degree.set_pos(200, 40)
weather_tem_label.set_text("_ _")
else:
+ if len(temp) > 2:
+ no_weather_degree.set_pos(218, 40)
+ else:
+ no_weather_degree.set_pos(200, 40)
weather_tem_label.set_text("{}".format(temp))
date = self.weather_data[0]
city = self.weather_data[7]
if city != '{}':
- no_connect_label.set_text("{}".format(city))#城市
+ weather_location_label.set_text("{}".format(city))#城市
else:
- no_connect_label.set_text("--")
+ weather_location_label.set_text("--")
else:#已联网未获取到天气数据
- # no_connect_label.set_text(" ")
+ no_weather_degree.set_pos(200, 40)
+ weather_location_label.set_text(" ")
weather_detail_label.set_text("-/-")
weather_tem_label.set_text("_ _")
no_connect_label1.set_text("请稍候重试")
else:
-
+ no_weather_degree.set_pos(200, 40)
+ weather_location_label.set_text(" ")
weather_detail_label.set_text("-/-")
weather_tem_label.set_text("_ _")
contacts_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
contacts_screen_list_screen = lv.obj(contacts_screen)
- contacts_screen_list_screen.set_pos(0, 30)
- contacts_screen_list_screen.set_size(LCD_X, LCD_Y-30)
+ contacts_screen_list_screen.set_pos(0, 50)
+ contacts_screen_list_screen.set_size(240, 270)
contacts_screen_list_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
contacts_screen_list_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
contacts_top_title = lv.label(contacts_screen)
- contacts_top_title.set_pos(0, 5)
- contacts_top_title.set_size(LCD_X, 20)
+ contacts_top_title.set_pos(0, 10)
+ contacts_top_title.set_size(240, 40)
contacts_top_title.set_text("联系人")
contacts_top_title.set_long_mode(lv.label.LONG.WRAP)
contacts_top_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
contact_none_label = lv.label(contacts_screen_list_screen)
- contact_none_label.set_pos(0, 20)
- contact_none_label.set_size(LCD_X, 40)
- contact_none_label.set_text("无联系人,请在手\n机APP上添加")
+ contact_none_label.set_pos(0, 80)
+ contact_none_label.set_size(240, 50)
+ contact_none_label.set_text("无联系人,请在手机\nAPP上添加")
contact_none_label.set_long_mode(lv.label.LONG.WRAP)
contact_none_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
contact_none_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
self.contact_detail_list = lv.obj(contacts_screen_list_screen)
self.contact_detail_list.set_pos(0, 0)
- self.contact_detail_list.set_size(LCD_X, LCD_Y-30+1)
+ self.contact_detail_list.set_size(240, 271)
self.contact_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
self.contact_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
for i in range(self.MXA_phone_num):
contact_btn_label_1 = lv.label(contact_btn)
contact_btn_label_2 = lv.label(contact_btn)
contact_btn_label_3 = lv.label(contact_btn)
+ contact_btn.add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ contact_btn_label_1.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ contact_btn_label_3.add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+
self.contact_detail_listt_dict.append({"contact_btn":contact_btn,"contact_btn_label_1":contact_btn_label_1,"contact_btn_label_2":contact_btn_label_2,"contact_btn_label_3":contact_btn_label_3})
self.meta = contacts_screen
self.count = 0
print("self.phonebook sorted :{} len(self.phonebook) :{}".format(sorted(self.phonebook.keys()),len(self.phonebook)))
phonebook_keys = sorted(self.phonebook.keys())
-
+ # self.contact_detail_list.delete()#先删除一次控件
+ # self.contact_detail_list = lv.obj(contacts_screen_list_screen)
+ # self.contact_detail_list.set_pos(0, 0)
+ # self.contact_detail_list.set_size(240, 271)
+ # self.contact_detail_list.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ # self.contact_detail_list.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # print("self.phonebook sorted :{}".format(len(self.phonebook)))
if len(self.phonebook) > self.MXA_phone_num:
j = len(self.phonebook) - self.MXA_phone_num
for i in range(self.MXA_phone_num): #字典 key value
print("name :{} key_tmp:{}".format(name,key_tmp))
#contact_btn = lv.btn(self.contact_detail_list)
- self.contact_detail_listt_dict[i]["contact_btn"].set_size(LCD_X,45)
- self.contact_detail_listt_dict[i]["contact_btn"].set_pos(0,47*i )
- self.contact_detail_listt_dict[i]["contact_btn"].add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.contact_detail_listt_dict[i]["contact_btn"].set_size(230,80)
+ self.contact_detail_listt_dict[i]["contact_btn"].set_pos(0,82*i )
+ #self.contact_detail_listt_dict[i]["contact_btn"].add_style(style_contact_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
# contact_btn.add_style(style_contact_btn_pressed, lv.PART.MAIN | lv.STATE.PRESSED)
# self.contact_detail_listt_dict[i]["contact_btn"].add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)),
# lv.EVENT.CLICKED, None)
#contact_btn_label_1 = lv.label(contact_btn)
- self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_pos(5, 4)
- self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_size(LCD_X-15, 20)
+ self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_pos(0, 0)
+ self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_size(180, 30)
self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_text(key_tmp[4:])
self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_long_mode(lv.label.LONG.DOT)
- self.contact_detail_listt_dict[i]["contact_btn_label_1"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ #self.contact_detail_listt_dict[i]["contact_btn_label_1"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
#contact_btn_label_2 = lv.label(contact_btn)
self.contact_detail_listt_dict[i]["contact_btn_label_2"].set_pos(0, 5)
#contact_btn_label_3 = lv.label(contact_btn)
- self.contact_detail_listt_dict[i]["contact_btn_label_3"].set_pos(5, 24)
- self.contact_detail_listt_dict[i]["contact_btn_label_3"].set_size(LCD_X-15, 21)
+ self.contact_detail_listt_dict[i]["contact_btn_label_3"].set_pos(0, 35)
+ self.contact_detail_listt_dict[i]["contact_btn_label_3"].set_size(220, 35)
self.contact_detail_listt_dict[i]["contact_btn_label_3"].set_text(name)
- self.contact_detail_listt_dict[i]["contact_btn_label_3"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
+ #self.contact_detail_listt_dict[i]["contact_btn_label_3"].add_style(style_font_youyuan_20_black, lv.PART.MAIN | lv.STATE.DEFAULT)
self.contact_detail_listt_dict[i]["contact_btn"].clear_flag(lv.obj.FLAG.HIDDEN)
temperature_line_bg_img = lv.img(temperature_screen)
temperature_line_bg_img.set_pos(5, 50)
temperature_line_bg_img.set_size(230, 120)
- temperature_line_bg_img.set_src("U:/static/temp_line_bg.png")
+ temperature_line_bg_img.set_src("E:/static/temp_line_bg.png")
temperature_done_img = lv.img(temperature_screen)
temperature_done_img.set_pos(20, 226)
- temperature_done_img.set_src("U:/static/temp_gif03.png")
+ temperature_done_img.set_src("E:/static/temp_gif03.png")
temp_reset_btn_img = lv.img(temperature_screen)
temp_reset_btn_img.set_pos(0, 182)
- temp_reset_btn_img.set_src("U:/static/reset_hr_btn.png")
+ temp_reset_btn_img.set_src("E:/static/reset_hr_btn.png")
temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
temp_reset_btn_img.add_flag(lv.obj.FLAG.CLICKABLE)
temperature_start_label = lv.label(temperature_screen)
temperature_start_label.set_size(240,40)
temperature_start_label.set_pos(0,190)
- temperature_start_label.set_text(" ")
+ temperature_start_label.set_text("正在测量中.")
temperature_start_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
temperature_start_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
temperature_start_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
temperature_bpm_label = lv.label(temperature_screen)
temperature_bpm_label.set_size(120, 40)
temperature_bpm_label.set_pos(100, 244)
+ temperature_bpm_label.set_text("- -")
temperature_bpm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
temperature_bpm_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
temperature_keep_label = lv.label(temperature_screen)
temperature_keep_label.set_size(140, 40)
temperature_keep_label.set_pos(100, 280)
- temperature_keep_label.set_text(" ")
+ temperature_keep_label.set_text("未出值")
temperature_keep_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
def restart_up(self,e):
global temperature_done_label,temperature_keep_label,temperature_bpm_label,temperature_start_label,temp_reset_btn_img
temperature_bpm_label.set_text("- -")
- temperature_keep_label.set_text(" ")
+ temperature_keep_label.set_text("未出值")
temp_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
self.point = 0
temperature_bpm_label.set_text("- -")
global temp_line1,temp_line2,temp_line3,temp_line4,temp_line5,temp_line6,temp_line7
read_data = {}
read_data = EventMesh.publish("get_history_temp_value")
- print("hr history read_data",read_data)
- if read_data != None:
- count = len(read_data)
+ # print("hr get_history_temp_value",read_data)
+ if len(read_data) != 0:
+ sort_new = {}
+ sort_new = sorted(read_data, key = lambda i: i['timeSec'],reverse = False)#按照时间戳进行排序 去掉最旧的一次数据如果满了五
+ count = len(sort_new)
if count != 0:
- if count >= 7:
- for i in range(count):
- value = read_data["0{}".format(i+1)]
- value_temp = int(value)
- if value <= 30:
- line_value = int(value_temp)
- elif value <= 34:
- line_value = int((value_temp-30)*4.25)+30
- elif value <= 38:
- line_value = int((value_temp-34)*5)+47
- elif value <= 42:
- line_value = int((value_temp-38)*4)+67
- elif value < 46:
- line_value = int((value_temp-42)*3.75)+85
- else:
- value = 46
- line_value = 100
-
-
- if line_value >= 100:
- line_value = 100
- #print("hr hist",line_value)
- hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if i == 0:
- temp_line1.set_points(hr_line_points,2)
- temp_line1.set_pos(29,150-line_value)
- temp_line1.set_size(10,line_value)
- if value >= 37.3:
- temp_line1.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line1.set_style_line_color(lv.color_make(35,141,255),0)
- if i == 1:
- temp_line2.set_points(hr_line_points,2)
- temp_line2.set_pos(57,150-line_value)
- temp_line2.set_size(10,line_value)
- if value >= 37.3:
- temp_line2.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line2.set_style_line_color(lv.color_make(35,141,255),0)
-
- if i == 2:
- temp_line3.set_points(hr_line_points,2)
- temp_line3.set_pos(84,150-line_value)
- temp_line3.set_size(10,line_value)
- if value >= 37.3:
- temp_line3.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line3.set_style_line_color(lv.color_make(35,141,255),0)
- if i == 3:
- temp_line4.set_points(hr_line_points,2)
- temp_line4.set_pos(112,150-line_value)
- temp_line4.set_size(10,line_value)
- if value >= 37.3:
- temp_line4.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line4.set_style_line_color(lv.color_make(35,141,255),0)
- if i == 4:
- temp_line5.set_points(hr_line_points,2)
- temp_line5.set_pos(140,150-line_value)
- temp_line5.set_size(10,line_value)
- if value >= 37.3:
- temp_line5.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line5.set_style_line_color(lv.color_make(35,141,255),0)
-
- if i == 5:
- temp_line6.set_points(hr_line_points,2)
- temp_line6.set_pos(167,150-line_value)
- temp_line6.set_size(10,line_value)
- if value >= 37.3:
- temp_line6.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line6.set_style_line_color(lv.color_make(35,141,255),0)
-
- if i == 6:
- temp_line7.set_points(hr_line_points,2)
- temp_line7.set_pos(195,150-line_value)
- temp_line7.set_size(10,line_value)
- if value >= 37.3:
- temp_line7.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
- else:
- temp_line7.set_style_line_color(lv.color_make(35,141,255),0)
- else:
- value = read_data["0{}".format(count)]
+ for i in range(count):
+ # print(int(sort_new[i]["temp"]))
+ # print("hr history read_data",read_data)
+ value = int(sort_new[i]["temp"])
value_temp = int(value)
if value <= 30:
line_value = int(value_temp)
value = 46
line_value = 100
-
if line_value >= 100:
line_value = 100
- #
- hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if count == 1:
- temp_line1.set_points(hr_line_points,2)
+ #print("hr hist",line_value)
+ temp_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
+ if i == 0:
+ temp_line1.set_points(temp_line_points,2)
temp_line1.set_pos(29,150-line_value)
temp_line1.set_size(10,line_value)
if value >= 37.3:
temp_line1.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
else:
temp_line1.set_style_line_color(lv.color_make(35,141,255),0)
-
- if count == 2:
- temp_line2.set_points(hr_line_points,2)
+ if i == 1:
+ temp_line2.set_points(temp_line_points,2)
temp_line2.set_pos(57,150-line_value)
temp_line2.set_size(10,line_value)
if value >= 37.3:
else:
temp_line2.set_style_line_color(lv.color_make(35,141,255),0)
- if count == 3:
- temp_line3.set_points(hr_line_points,2)
+ if i == 2:
+ temp_line3.set_points(temp_line_points,2)
temp_line3.set_pos(84,150-line_value)
temp_line3.set_size(10,line_value)
if value >= 37.3:
temp_line3.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
else:
temp_line3.set_style_line_color(lv.color_make(35,141,255),0)
-
-
- if count == 4:
- temp_line4.set_points(hr_line_points,2)
+ if i == 3:
+ temp_line4.set_points(temp_line_points,2)
temp_line4.set_pos(112,150-line_value)
temp_line4.set_size(10,line_value)
if value >= 37.3:
temp_line4.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
else:
temp_line4.set_style_line_color(lv.color_make(35,141,255),0)
-
- if count == 5:
- temp_line5.set_points(hr_line_points,2)
+ if i == 4:
+ temp_line5.set_points(temp_line_points,2)
temp_line5.set_pos(140,150-line_value)
temp_line5.set_size(10,line_value)
if value >= 37.3:
else:
temp_line5.set_style_line_color(lv.color_make(35,141,255),0)
- if count == 6:
- temp_line6.set_points(hr_line_points,2)
+ if i == 5:
+ temp_line6.set_points(temp_line_points,2)
temp_line6.set_pos(167,150-line_value)
temp_line6.set_size(10,line_value)
if value >= 37.3:
else:
temp_line6.set_style_line_color(lv.color_make(35,141,255),0)
- if count == 7:
- temp_line7.set_points(hr_line_points,2)
+ if i == 6:
+ temp_line7.set_points(temp_line_points,2)
temp_line7.set_pos(195,150-line_value)
- temp_line7.set_size(10,line_value)
+ temp_line7.set_size(10,line_value)
if value >= 37.3:
temp_line7.set_style_line_color(lv.color_make(0xff,0x00,0x00),0)
else:
temp_line7.set_style_line_color(lv.color_make(35,141,255),0)
-
+
def start_measure(self,*args):
+ EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+ def start_measure_do(self,data):
global temperature_label,temperature_keep_label,temperature_done_img ,temp_reset_btn_img,temperature_start_label,temperature_bpm_label ,temperature_done_label
self.point = self.point + 1
EventMesh.publish("system_sleep_rest")#防止黑屏
-
+ WEAR = EventMesh.publish(constants.EVENT.GET_WEAR)#佩戴数据
temp = EventMesh.publish(constants.EVENT.GET_TEMP)
+ temp += 0.5
tmp = str(temp).split('.')[0] + '.' + str(temp).split('.')[1][:1]#获取小数点后一位 舍去小数点最后一位
- print("self.temp:{}".format(temp))
+ if temp < 25 or temp > 42:
+ temp = 0
+ # print("self.temp:{}".format(temp))
if self.point >= 2:
if temp != 0:
temperature_bpm_label.set_text("{}".format(tmp))
if self.point%4 == 0 :
temperature_start_label.set_text("正在测量中..")
- temperature_done_img.set_src("U:/static/temp_gif02.png")
+ temperature_done_img.set_src("E:/static/temp_gif02.png")
if self.point%4 == 1 :
temperature_start_label.set_text("正在测量中...")
- temperature_done_img.set_src("U:/static/temp_gif01.png")
+ temperature_done_img.set_src("E:/static/temp_gif01.png")
if self.point%4 == 2 :
temperature_start_label.set_text("正在测量中.")
- temperature_done_img.set_src("U:/static/temp_gif02.png")
+ temperature_done_img.set_src("E:/static/temp_gif02.png")
if self.point%4 == 3 :
temperature_start_label.set_text("正在测量中.")
- temperature_done_img.set_src("U:/static/temp_gif03.png")
+ temperature_done_img.set_src("E:/static/temp_gif03.png")
- tmp_f = str(temp).split('.')[0]
- tmp_f_tmp = int(tmp_f)
+ tmp_f_tmp = 0
+ tmp_d_tmp = 0
+ if str(temp).find(".") != -1:
+ tmp_f = str(temp).split('.')[0]
+ tmp_f_tmp = int(tmp_f)
+
+ tmp_d = str(temp).split('.')[1][:1]
+ tmp_d_tmp = int(tmp_d)
+ else:
+ tmp_f_tmp = temp
- tmp_d = str(temp).split('.')[1][:1]
- tmp_d_tmp = int(tmp_d)
if self.point >= 2:
+
if temp >= 37.3:
temperature_keep_label.set_text("体温偏高")
temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0x00, 0x00), lv.STATE.DEFAULT)
+ elif temp == 0:
+ temperature_keep_label.set_text(" ")
+ temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
else:
temperature_keep_label.set_text("体温正常")
temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
- if self.point > 120 : #测2min
+ if self.point > 120 or (WEAR == 0 and self.point > 10): #测2min
+ self.timer.stop()
+ if WEAR == 0:
+ temp = 0
+ temperature_start_label.set_text("佩戴异常,点击重测")
+ temperature_bpm_label.set_text("- -")
+ temperature_keep_label.set_text(" ")
+ temperature_keep_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+ else :
+ temperature_start_label.set_text("测量结束,点击重测")
+ EventMesh.publish("set_history_temp_value",temp)
+ EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp])
+ num = str(tmp_f_tmp)+"."+ str(tmp_d_tmp)
+ EventMesh.publish(constants.PROTOCOL.BTEMP2_SEND,[1,num])
if temp >= 37.3:
- temperature_done_img.set_src("U:/static/temp_high.png")
+ temperature_done_img.set_src("E:/static/temp_high.png")
else:
- temperature_done_img.set_src("U:/static/temp_gif03.png")
+ temperature_done_img.set_src("E:/static/temp_gif03.png")
temp_reset_btn_img.clear_flag(lv.obj.FLAG.HIDDEN)
- temperature_start_label.set_text("测量结束,点击重测")
- EventMesh.publish("set_history_temp_value",temp)
self.show_history_data()
- self.timer.stop()
+
self.point = 0
EventMesh.publish("set_temp_state",0)
- EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp])
+
EventMesh.publish(constants.EVENT.STOP_TEMP)
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-# class TemperatureScreen(Screen):
-# NAME = "temperature"
-
-# def __init__(self):
-# super().__init__()
-# self.meta = None
-# self.temp_timer = osTimer()
-# self.count = 0
-# def initialization(self):
-# global temperature_screen,temperature_bg_img ,temperature_body_label ,temperature_degree_img ,temperature_value_label,\
-# temperature_wrist_label,temperature_wrist_degree_img ,temperature_wrist_value_label,temperature_measure_end_label,temperature_measure_countdown_label
-# if temperature_screen == None:
-# temperature_screen = lv.obj()
-# print("temperature_screen")
-# temperature_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_bg_img = lv.img(temperature_screen)
-# temperature_bg_img.set_pos(30, 50)
-# temperature_bg_img.set_size(31, 32)
-# temperature_bg_img.set_src("U:/static/temp_hand.png")
-# temperature_bg_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_body_label = lv.label(temperature_screen)
-# temperature_body_label.set_pos(80, 40)
-# temperature_body_label.set_size(160, 20)
-# temperature_body_label.set_text("当前腕温")
-# temperature_body_label.set_long_mode(lv.label.LONG.WRAP)
-# temperature_body_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
-# temperature_body_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_degree_img = lv.img(temperature_screen)
-# temperature_degree_img.set_pos(146, 70)
-# temperature_degree_img.set_size(22, 22)
-# temperature_degree_img.set_src("U:/static/degree.png")
-# temperature_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_value_label = lv.label(temperature_screen)
-# temperature_value_label.set_pos(90,73)
-# temperature_value_label.set_size(50, 30)
-# temperature_value_label.set_text("--")
-# temperature_value_label.set_long_mode(lv.label.LONG.WRAP)
-# temperature_value_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# temperature_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# # temperature_wrist_label = lv.label(temperature_screen)
-# # temperature_wrist_label.set_pos(80,120)
-# # temperature_wrist_label.set_size(100, 20)
-# # temperature_wrist_label.set_text("当前腕温")
-# # temperature_wrist_label.set_long_mode(lv.label.LONG.WRAP)
-# # temperature_wrist_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# # temperature_wrist_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# # temperature_wrist_degree_img = lv.img(temperature_screen)
-# # temperature_wrist_degree_img.set_pos(150, 150)
-# # temperature_wrist_degree_img.set_size(22, 22)
-# # temperature_wrist_degree_img.set_src("U:/static/degree.png")
-# # temperature_wrist_degree_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# # temperature_wrist_value_label = lv.label(temperature_screen)
-# # temperature_wrist_value_label.set_pos(96,155)
-# # temperature_wrist_value_label.set_size(50, 30)
-# # temperature_wrist_value_label.set_text("--")
-# # temperature_wrist_value_label.set_long_mode(lv.label.LONG.WRAP)
-# # temperature_wrist_value_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# # temperature_wrist_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_measure_countdown_label = lv.label(temperature_screen)
-# temperature_measure_countdown_label.set_pos(0,160)
-# temperature_measure_countdown_label.set_size(240, 30)
-# temperature_measure_countdown_label.set_text("03:00")
-# temperature_measure_countdown_label.set_long_mode(lv.label.LONG.WRAP)
-# temperature_measure_countdown_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# temperature_measure_countdown_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# temperature_measure_end_label = lv.label(temperature_screen)
-# temperature_measure_end_label.set_pos(0,220)
-# temperature_measure_end_label.set_size(240, 30)
-# temperature_measure_end_label.set_text(" ")
-# temperature_measure_end_label.set_long_mode(lv.label.LONG.WRAP)
-# temperature_measure_end_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# temperature_measure_end_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# self.meta = temperature_screen
-# if temperature_value_label != None:
-# temperature_value_label.set_text("--")
-# if temperature_measure_end_label != None:
-# temperature_measure_end_label.set_text(" ")
-# if temperature_measure_countdown_label != None:
-# temperature_measure_countdown_label.set_text("03:00")
-# EventMesh.publish("set_temp_state",1)
-# EventMesh.publish(constants.EVENT.START_TEMP)
-# self.count = 0
-# self.countdown = 3*60
-# self.temp_timer.start(1*1000, 1, self.temp_timerout)
-# def temp_timerout(self,*args):
-# global temperature_value_label,temperature_measure_countdown_label,temperature_measure_end_label
-# self.count += 1
-# EventMesh.publish("system_sleep_rest")#防止黑屏
-# temp = EventMesh.publish(constants.EVENT.GET_TEMP)
-# tmp = str(temp).split('.')[0] + '.' + str(temp).split('.')[1][:1]#获取小数点后一位 舍去小数点最后一位
-# if temperature_measure_end_label != None:
-# temperature_value_label.set_text("{}".format(tmp))
-
-# tmp_f = str(temp).split('.')[0]
-# tmp_f_tmp = int(tmp_f)
-
-# tmp_d = str(temp).split('.')[1][:1]
-# tmp_d_tmp = int(tmp_d)
-
-# if self.countdown > 0:
-# self.countdown-=1
-# min = self.countdown / 60
-# sec = self.countdown % 60
-# if temperature_measure_countdown_label != None:
-# temperature_measure_countdown_label.set_text("{}:{}".format("%02d"%(min),"%02d"%(sec)))
-
-# # print("temp:{} tmp_f:{} tmp_f_tmp:{} tmp_d:{} tmp_d_tmp:{} self.count:{}".format(temp,tmp_f,tmp_f_tmp,tmp_d,tmp_d_tmp,self.count))
-# if self.count >= 3*60:
-# self.count = 0
-# EventMesh.publish("set_temp_state",0)
-# if temperature_measure_end_label != None:
-# temperature_measure_end_label.set_text("测量完成")
-# self.temp_timer.stop()
-# EventMesh.publish(constants.PROTOCOL.TEMP_SEND,[tmp_f_tmp,tmp_d_tmp])
-# EventMesh.publish(constants.EVENT.STOP_TEMP)
-# def Close(self):
-# self.count = 0
-# self.temp_timer.stop()
-# EventMesh.publish("set_temp_state",0)
-# EventMesh.publish(constants.EVENT.STOP_TEMP)
-
-# def done_return(self):
-# EventMesh.publish("load_screen", {"screen": "health"})
-
-# def btn1_release(self):
-# EventMesh.publish("load_screen", {"screen": "health"})
-
-# def btn8_press(self):
-# EventMesh.publish("watch_top_show")
-# EventMesh.publish("load_screen", {"screen": "main_menu"})
-
line_points = [{"x":0,"y":0},{"x":240,"y":0}]
self.timer = osTimer()
self.point = 0
self.spo2_value = 0
-
+ #self.Hsensor = None
def initialization(self):
global spo2_screen,spo2_label,spo2_value_label,spo2_reset_btn_img,spo2_done_img,spo2_line_bg_img,spo2_line1,spo2_line2,\
spo2_line3,spo2_line4,spo2_line5,spo2_line6,spo2_line7,spo2_line_bg_img ,spo2_start_label ,spo2_done_label
spo2_line_bg_img = lv.img(spo2_screen)
spo2_line_bg_img.set_pos(5, 60)
spo2_line_bg_img.set_size(230, 120)
- spo2_line_bg_img.set_src("U:/static/spo2_line_bg.png")
+ spo2_line_bg_img.set_src("E:/static/spo2_line_bg.png")
spo2_done_img = lv.img(spo2_screen)
spo2_done_img.set_pos(20, 240)
- spo2_done_img.set_src("U:/static/spo2_gif04.png")
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
spo2_reset_btn_img = lv.img(spo2_screen)
spo2_reset_btn_img.set_pos(0, 192)
- spo2_reset_btn_img.set_src("U:/static/reset_hr_btn.png")
+ spo2_reset_btn_img.set_src("E:/static/reset_hr_btn.png")
spo2_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
spo2_reset_btn_img.add_flag(lv.obj.FLAG.CLICKABLE)
spo2_start_label = lv.label(spo2_screen)
spo2_start_label.set_size(240,40)
spo2_start_label.set_pos(0,200)
- spo2_start_label.set_text(" ")
+ spo2_start_label.set_text("正在测量中.")
spo2_start_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
spo2_start_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
spo2_start_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
spo2_value_label = lv.label(spo2_screen)
spo2_value_label.set_size(110, 40)
spo2_value_label.set_pos(130, 270)
+ spo2_value_label.set_text("- -%")
spo2_value_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
spo2_value_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
self.spo2_value = 0
self.show_history_data()
self.restart_up(0)
-
+
def restart_up(self,e):
global spo2_value_label,heartrate_bpm_label,spo2_start_label,spo2_reset_btn_img
+ self.point = 0
self.timer.start(1*500, 1, self.start_measure)
if spo2_reset_btn_img != None:
spo2_reset_btn_img.add_flag(lv.obj.FLAG.HIDDEN)
- self.point = 0
+
spo2_value_label.set_text("- -%")
spo2_start_label.set_text("正在测量中.")
global spo2_line1,spo2_line2,spo2_line3,spo2_line4,spo2_line5,spo2_line6,spo2_line7
read_data = {}
read_data = EventMesh.publish("get_history_spo2_value")
- print("hr get_history_spo2_value",read_data)
- if read_data != None:
- count = len(read_data)
+ # print("hr get_history_spo2_value",read_data)
+ if len(read_data) != 0:
+ sort_new = {}
+ sort_new = sorted(read_data, key = lambda i: i['timeSec'],reverse = False)#按照时间戳进行排序 去掉最旧的一次数据如果满了五
+ count = len(sort_new)
if count != 0:
- if count >= 7:
- for i in range(count):
- value = read_data["0{}".format(i+1)]
- if value < 80:
- value = 80
- if value >= 100:
- value = 100
- if value <= 85:
- value = value - 80
- line_value = int(value*6)
- elif value <= 90:
- value = value-85
- line_value = int((17/5)*value)+30
- elif value <= 95:
- value = value-90
- line_value = int((21/5)*value)+47
- elif value <= 100:
- value = value-95
- line_value = int((16/5)*value)+68
-
-
- if line_value >= 100:
- line_value = 100
- #print("hr hist",line_value)
- hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if i == 0:
- spo2_line1.set_points(hr_line_points,2)
- spo2_line1.set_pos(25,160-line_value)
- spo2_line1.set_size(10,line_value)
- if i == 1:
- spo2_line2.set_points(hr_line_points,2)
- spo2_line2.set_pos(53,160-line_value)
- spo2_line2.set_size(10,line_value)
-
- if i == 2:
- spo2_line3.set_points(hr_line_points,2)
- spo2_line3.set_pos(80,160-line_value)
- spo2_line3.set_size(10,line_value)
-
- if i == 3:
- spo2_line4.set_points(hr_line_points,2)
- spo2_line4.set_pos(109,160-line_value)
- spo2_line4.set_size(10,line_value)
-
- if i == 4:
- spo2_line5.set_points(hr_line_points,2)
- spo2_line5.set_pos(136,160-line_value)
- spo2_line5.set_size(10,line_value)
-
- if i == 5:
- spo2_line6.set_points(hr_line_points,2)
- spo2_line6.set_pos(164,160-line_value)
- spo2_line6.set_size(10,line_value)
-
- if i == 6:
- spo2_line7.set_points(hr_line_points,2)
- spo2_line7.set_pos(192,160-line_value)
- spo2_line7.set_size(10,line_value)
- else:
- value = read_data["0{}".format(count)]
+ for i in range(count):
+ print(int(sort_new[i]["spo2"]))
+ # print("hr history read_data",read_data)
+ value = int(sort_new[i]["spo2"])
if value < 80:
- value = 80
+ value = 80
if value >= 100:
value = 100
-
if value <= 85:
value = value - 80
line_value = int(value*6)
if line_value >= 100:
line_value = 100
- #
+ #print("hr hist",line_value)
hr_line_points = [{"x":0,"y":0},{"x":0,"y":line_value}]
- if count == 1:
+ if i == 0:
spo2_line1.set_points(hr_line_points,2)
spo2_line1.set_pos(25,160-line_value)
spo2_line1.set_size(10,line_value)
- if count == 2:
+ if i == 1:
spo2_line2.set_points(hr_line_points,2)
spo2_line2.set_pos(53,160-line_value)
spo2_line2.set_size(10,line_value)
- if count == 3:
+ if i == 2:
spo2_line3.set_points(hr_line_points,2)
spo2_line3.set_pos(80,160-line_value)
spo2_line3.set_size(10,line_value)
- if count == 4:
+ if i == 3:
spo2_line4.set_points(hr_line_points,2)
spo2_line4.set_pos(109,160-line_value)
spo2_line4.set_size(10,line_value)
- if count == 5:
+ if i == 4:
spo2_line5.set_points(hr_line_points,2)
spo2_line5.set_pos(136,160-line_value)
spo2_line5.set_size(10,line_value)
- if count == 6:
+ if i == 5:
spo2_line6.set_points(hr_line_points,2)
spo2_line6.set_pos(164,160-line_value)
spo2_line6.set_size(10,line_value)
- if count == 7:
+ if i == 6:
spo2_line7.set_points(hr_line_points,2)
spo2_line7.set_pos(192,160-line_value)
- spo2_line7.set_size(10,line_value)
-
-
+ spo2_line7.set_size(10,line_value)
+
def start_measure(self,*args):
+ EventMesh.publish("publish_message_event_ui",{"func":self.start_measure_do,"data":0})
+ def start_measure_do(self,data):
global spo2_screen,spo2_label,spo2_start_label,spo2_value_label,spo2_done_img ,spo2_reset_btn_img
self.point = self.point + 1
EventMesh.publish("system_sleep_rest")#防止黑屏
+ WEAR = EventMesh.publish(constants.EVENT.GET_WEAR)#佩戴数据
+ # if self.Hsensor == None:
+ # self.Hsensor = EventMesh.publish("get_Hsensor")
+ # c_data = self.Hsensor.get_test_data()#校准数据和工厂数据
+ # print(" 佩戴状态\n红外:{}活体:{}佩戴:{}\n{},{} \n{},{} \n{},{}\n校准数据:{},{},{},{}\n漏光数据:{},{},{}"
+ # .format(c_data[3],c_data[4],WEAR,c_data[5],c_data[6],c_data[7],c_data[8],c_data[9],c_data[10],
+ # c_data[11],c_data[12],c_data[13],c_data[14],c_data[0],c_data[1],c_data[2],))
+ # print("sop2:start_measure:point{}".format(self.point))
self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
if self.point >= 2:
if self.spo2_value != 0:
if self.point%4 == 0 :
spo2_start_label.set_text("正在测量中..")
- spo2_done_img.set_src("U:/static/spo2_gif03.png")
+ spo2_done_img.set_src("E:/static/spo2_gif03.png")
if self.point%4 == 1 :
spo2_start_label.set_text("正在测量中...")
- spo2_done_img.set_src("U:/static/spo2_gif02.png")
+ spo2_done_img.set_src("E:/static/spo2_gif02.png")
if self.point%4 == 2 :
spo2_start_label.set_text("正在测量中.")
- spo2_done_img.set_src("U:/static/spo2_gif01.png")
+ spo2_done_img.set_src("E:/static/spo2_gif01.png")
if self.point%4 == 3 :
spo2_start_label.set_text("正在测量中.")
- spo2_done_img.set_src("U:/static/spo2_gif04.png")
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
- if self.point > 120: #测20s
- spo2_done_img.set_src("U:/static/spo2_gif04.png")
+ if self.point > 120 or (WEAR == 0 and self.point > 10): #测60s
+ self.timer.stop()
+ spo2_done_img.set_src("E:/static/spo2_gif04.png")
self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
+ if WEAR == 0:
+ self.spo2_value = 0
+ spo2_start_label.set_text("佩戴异常,点击重测")
+ else :
+ spo2_start_label.set_text("测量结束,点击重测")
+
if self.spo2_value >= 85:
EventMesh.publish("set_old_spo2_data",self.spo2_value)
EventMesh.publish("set_history_spo2_value",self.spo2_value)
spo2_reset_btn_img.clear_flag(lv.obj.FLAG.HIDDEN)
+
if self.spo2_value != 0:
- spo2_start_label.set_text("测量结束,点击重测")
spo2_value_label.set_text("{}%".format(self.spo2_value))
# heartrate_done_label.set_text("测量完成")
else:
spo2_value_label.set_text("- - %")
- spo2_start_label.set_text("测量异常,点击重测")
+
self.show_history_data()
- self.timer.stop()
self.point = 0
EventMesh.publish("set_spo2_state",0)#0代表关闭测试
print("stop debug9")
-# class Spo2Screen(Screen):
-# NAME = "spo2"
-
-# def __init__(self):
-# super().__init__()
-# self.meta = None
-# self.timer = osTimer()
-# self.point = 0
-# self.spo2_value = 0
-# self.last_spo2_value = 0
-# self.rtc = RTC()
-
-# def initialization(self):
-# global spo2_screen ,spo2_label_0 ,spo2_done_img ,spo2_label ,spo2_label_1 ,spo2_line ,spo2_last_time,spo2_last_value
-# if spo2_screen == None:
-# spo2_screen = lv.obj()
-# print("spo2_screen")
-# spo2_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# spo2_label_0 = lv.label(spo2_screen)
-# spo2_label_0.set_pos(0, 10)
-# spo2_label_0.set_size(240, 40)
-# spo2_label_0.set_text("血氧")
-# spo2_label_0.set_long_mode(lv.label.LONG.WRAP)
-# spo2_label_0.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# spo2_label_0.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# spo2_done_img = lv.img(spo2_screen)
-# spo2_done_img.set_pos(89, 50)
-# spo2_done_img.set_size(62, 84)
-# spo2_done_img.set_src("U:/static/IMAGE_SPO2_ONLY_TEST_DONE.png")
-
-# spo2_label = lv.label(spo2_screen)
-# spo2_label.set_size(240,30)
-# spo2_label.set_pos(0,160)
-# spo2_label.set_text(" ")
-# spo2_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# spo2_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-# spo2_label_1 = lv.label(spo2_screen)
-# spo2_label_1.set_size(240,40)
-# spo2_label_1.set_pos(0,200)
-# spo2_label_1.set_text("测量中.")
-# spo2_label_1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# spo2_label_1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
-# spo2_line = lv.line(spo2_screen)
-# spo2_line.set_points(line_points,2)
-# spo2_line.set_pos(0,240)
-# spo2_line.set_size(240,10)
-# spo2_line.add_style(style_line,0)
-
-# spo2_last_time = lv.label(spo2_screen)
-# spo2_last_time.set_size(240, 15)
-# spo2_last_time.set_pos(0, 250)
-# spo2_last_time.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# spo2_last_time.set_text(" ")
-# spo2_last_time.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-# spo2_last_value = lv.label(spo2_screen)
-# spo2_last_value.set_size(240, 15)
-# spo2_last_value.set_pos(0, 280)
-# spo2_last_value.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# spo2_last_value.set_text(" ")
-# spo2_last_value.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-# self.meta = spo2_screen
-
-# self.point = 0
-# self.spo2_value = 0
-# self.timer.start(1*1000, 1, self.start_measure)
-# EventMesh.publish("set_spo2_state",1)#2代表后台进入血氧测试
-# EventMesh.publish(constants.EVENT.START_BLOOD_OXYGEN)
-# self.last_spo2_value = EventMesh.publish("get_old_spo2_data")
-# spo2_label.set_text("--%")
-# if self.last_spo2_value == 0:
-# spo2_last_value.set_text(" ")
-# else:
-# spo2_last_value.set_text("{}%".format(self.last_spo2_value))
-
-# def start_measure(self,*args):
-# global spo2_screen ,spo2_label_0 ,spo2_done_img ,spo2_label ,spo2_label_1 ,spo2_line ,spo2_last_time,spo2_last_value
-# self.point = self.point + 1
-# EventMesh.publish("system_sleep_rest")#防止黑屏
-# self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-# if self.spo2_value == 0:
-# spo2_label.set_text("--%")
-# else:
-# spo2_label.set_text("{} %".format(self.spo2_value))
-# if self.point%4 == 0 :
-# spo2_label_1.set_text("测量中..")
-# if self.point%4 == 1 :
-# spo2_label_1.set_text("测量中...")
-# if self.point%4 == 2 :
-# spo2_label_1.set_text("测量中....")
-# if self.point%4 == 3 :
-# spo2_label_1.set_text("测量中.")
-
-# if self.point > 60: #测20s
-# self.spo2_value = EventMesh.publish(constants.EVENT.GET_BLOOD_OXYGEN)
-# # print("ui self.spo2_value :{}".format(self.spo2_value))
-# if self.spo2_value > 85 and self.spo2_value != None:
-# EventMesh.publish("set_old_spo2_data",self.spo2_value)
-# EventMesh.publish(constants.PROTOCOL.OXYGEN_SEND,self.spo2_value)
-# spo2_label.set_text("{} %".format(self.spo2_value))
-# if self.spo2_value == 0:
-# spo2_label.set_text(" ")
-# spo2_label_1.set_text("退出,请重新测量")
-# self.last_spo2_value = EventMesh.publish("get_old_spo2_data")
-# spo2_last_value.set_text(" ")
-# else:
-# self.last_spo2_value = self.spo2_value
-# spo2_last_value.set_text("{}%".format(self.last_spo2_value))
-# spo2_label_1.set_text("测量完成")
-# time = EventMesh.publish("screen_get_time")
-# #print("time ",time)
-# rtc_time = self.rtc.datetime()
-# time_time =" {}:{}".format("%02d"%(time[0][0]),"%02d"%(time[0][1]))#测量时间
-# spo2_last_time.set_text(str(rtc_time[0])+'/'+str(rtc_time[1])+'/'+str(rtc_time[2])+str(time_time))
-
-
-
-# self.timer.stop()
-# self.point = 0
-# EventMesh.publish("set_spo2_state",0)#0代表关闭测试
-# EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
-# # spo2_last_time.set_text()
-
-# def Close(self):
-# self.timer.stop()
-# get_hr_state = EventMesh.publish("get_hr_state")
-# get_spo2_state = EventMesh.publish("get_spo2_state")
-# if get_hr_state == 1 or get_spo2_state == 1:
-# EventMesh.publish("set_spo2_state",0)#0代表关闭测试
-# EventMesh.publish(constants.EVENT.STOP_BLOOD_OXYGEN)
-
-# def done_return(self):
-# EventMesh.publish("load_screen", {"screen": "health"})
-
-# def btn1_release(self):
-# EventMesh.publish("load_screen", {"screen": "health"})
-
-# def btn8_press(self):
-# EventMesh.publish("watch_top_show")
-# EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-
countdown_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_title = lv.label(countdown_screen)
- countdown_title.set_pos(0, 5)
- countdown_title.set_size(128, 20)
+ countdown_title.set_pos(0, 20)
+ countdown_title.set_size(240, 20)
countdown_title.set_text("倒计时")
countdown_title.set_long_mode(lv.label.LONG.WRAP)
countdown_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
countdown_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_hour = lv.label(countdown_screen)
- countdown_hour.set_pos(19, 50)
- countdown_hour.set_size(40, 30)
+ countdown_hour.set_pos(30, 140)
+ countdown_hour.set_size(60, 30)
countdown_hour.set_text("00")
countdown_hour.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_hour.set_long_mode(lv.label.LONG.WRAP)
countdown_hour.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
countdown_mao = lv.label(countdown_screen)
- countdown_mao.set_pos(45, 50)
- countdown_mao.set_size(20, 20)
+ countdown_mao.set_pos(82, 138)
+ countdown_mao.set_size(30, 30)
countdown_mao.set_text(":")
countdown_mao.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_mao.set_long_mode(lv.label.LONG.WRAP)
countdown_min = lv.label(countdown_screen)
- countdown_min.set_pos(55, 50)
- countdown_min.set_size(40, 30)
+ countdown_min.set_pos(95, 140)
+ countdown_min.set_size(60, 30)
countdown_min.set_text("00")
countdown_min.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_min.set_long_mode(lv.label.LONG.WRAP)
countdown_min.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
countdown_mao1 = lv.label(countdown_screen)
- countdown_mao1.set_pos(81, 50)
- countdown_mao1.set_size(20, 20)
+ countdown_mao1.set_pos(146, 138)
+ countdown_mao1.set_size(30, 30)
countdown_mao1.set_text(":")
countdown_mao1.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_mao1.set_long_mode(lv.label.LONG.WRAP)
countdown_sec = lv.label(countdown_screen)
- countdown_sec.set_pos(91, 50)
- countdown_sec.set_size(128-91, 20)
+ countdown_sec.set_pos(160, 140)
+ countdown_sec.set_size(60, 30)
countdown_sec.set_text("00")
countdown_sec.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_sec.set_long_mode(lv.label.LONG.WRAP)
countdown_sec.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
countdown_hour_up = lv.img(countdown_screen)
- countdown_hour_up.set_size(17, 15)
- countdown_hour_up.set_pos(19, 30)
- countdown_hour_up.set_src("U:/static/time_up.png")
- countdown_hour_up.add_flag(lv.obj.FLAG.CLICKABLE)
+ countdown_hour_up.set_size(34, 30)
+ countdown_hour_up.set_pos(36, 100)
+ countdown_hour_up.set_src("E:/static/time_up.png")
countdown_hour_up.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_hour_up_btn= lv.img(countdown_screen)
- countdown_hour_up_btn.set_size(45, 40)
- countdown_hour_up_btn.set_pos(0, 25)
+ countdown_hour_up_btn.set_size(62, 70)
+ countdown_hour_up_btn.set_pos(20, 80)
countdown_hour_up_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_hour_down = lv.img(countdown_screen)
- countdown_hour_down.set_size(17, 15)
- countdown_hour_down.set_pos(19, 70)
- countdown_hour_down.set_src("U:/static/time_down.png")
+ countdown_hour_down.set_size(34, 30)
+ countdown_hour_down.set_pos(36, 180)
+ countdown_hour_down.set_src("E:/static/time_down.png")
countdown_hour_down.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_hour_down.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_hour_down_btn= lv.img(countdown_screen)
- countdown_hour_down_btn.set_size(45, 40)
- countdown_hour_down_btn.set_pos(0, 65)
+ countdown_hour_down_btn.set_size(62, 80)
+ countdown_hour_down_btn.set_pos(20, 150)
countdown_hour_down_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_min_up = lv.img(countdown_screen)
- countdown_min_up.set_size(17, 15)
- countdown_min_up.set_pos(53+2, 30)
- countdown_min_up.set_src("U:/static/time_up.png")
+ countdown_min_up.set_size(34, 30)
+ countdown_min_up.set_pos(99, 100)
+ countdown_min_up.set_src("E:/static/time_up.png")
countdown_min_up.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_min_up.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_min_up_btn= lv.img(countdown_screen)
- countdown_min_up_btn.set_size(36, 40)
- countdown_min_up_btn.set_pos(45, 25)
+ countdown_min_up_btn.set_size(64, 70)
+ countdown_min_up_btn.set_pos(82, 80)
countdown_min_up_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_min_down = lv.img(countdown_screen)
- countdown_min_down.set_size(17, 15)
- countdown_min_down.set_pos(53+2, 70)
- countdown_min_down.set_src("U:/static/time_down.png")
+ countdown_min_down.set_size(34, 30)
+ countdown_min_down.set_pos(99, 180)
+ countdown_min_down.set_src("E:/static/time_down.png")
countdown_min_down.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_min_down.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_min_down_btn= lv.img(countdown_screen)
- countdown_min_down_btn.set_size(36, 40)
- countdown_min_down_btn.set_pos(45, 65)
+ countdown_min_down_btn.set_size(64, 80)
+ countdown_min_down_btn.set_pos(82, 150)
countdown_min_down_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_sec_up = lv.img(countdown_screen)
- countdown_sec_up.set_size(17, 15)
- countdown_sec_up.set_pos(91, 30)
- countdown_sec_up.set_src("U:/static/time_up.png")
- countdown_sec_up.add_flag(lv.obj.FLAG.CLICKABLE)
+ countdown_sec_up.set_size(34, 30)
+ countdown_sec_up.set_pos(165, 100)
+ countdown_sec_up.set_src("E:/static/time_up.png")
countdown_sec_up.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_sec_up_btn = lv.img(countdown_screen)
- countdown_sec_up_btn.set_size(128-81, 40)
- countdown_sec_up_btn.set_pos(81, 25)
+ countdown_sec_up_btn.set_size(64, 70)
+ countdown_sec_up_btn.set_pos(146, 80)
countdown_sec_up_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_sec_down = lv.img(countdown_screen)
- countdown_sec_down.set_size(17, 15)
- countdown_sec_down.set_pos(91, 70)
- countdown_sec_down.set_src("U:/static/time_down.png")
+ countdown_sec_down.set_size(34, 30)
+ countdown_sec_down.set_pos(165, 180)
+ countdown_sec_down.set_src("E:/static/time_down.png")
countdown_sec_down.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_sec_down.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_sec_down_btn = lv.img(countdown_screen)
- countdown_sec_down_btn.set_size(128-81, 40)
- countdown_sec_down_btn.set_pos(81, 65)
+ countdown_sec_down_btn.set_size(64, 80)
+ countdown_sec_down_btn.set_pos(146, 150)
countdown_sec_down_btn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_reset_img = lv.img(countdown_screen)
- countdown_reset_img.set_size(50, 18)
- countdown_reset_img.set_src("U:/static/stopwatch_reset.png")
+ countdown_reset_img.set_size(99, 36)
+ countdown_reset_img.set_src("E:/static/stopwatch_reset.png")
countdown_reset_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- countdown_reset_img.set_pos(8, 100)
+ countdown_reset_img.set_pos(10, 260)
countdown_reset_imgbtn = lv.img(countdown_screen)
- countdown_reset_imgbtn.set_size(66, 23)
+ countdown_reset_imgbtn.set_size(99, 70)
countdown_reset_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_reset_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- countdown_reset_imgbtn.set_pos(0, 105)
+ countdown_reset_imgbtn.set_pos(10, 240)
countdown_start_img = lv.img(countdown_screen)
- countdown_start_img.set_size(50, 18)
- countdown_start_img.set_src("U:/static/stopwatch_play.png")
+ countdown_start_img.set_size(99, 36)
+ countdown_start_img.set_src("E:/static/stopwatch_play.png")
countdown_start_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- countdown_start_img.set_pos(66, 100)
+ countdown_start_img.set_pos(120, 260)
countdown_start_imgbtn = lv.img(countdown_screen)
- countdown_start_imgbtn.set_size(128-66, 23)
+ countdown_start_imgbtn.set_size(99, 70)
countdown_start_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
countdown_start_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- countdown_start_imgbtn.set_pos(66, 105)
+ countdown_start_imgbtn.set_pos(120, 240)
countdown_stop_img = lv.img(countdown_screen)
- countdown_stop_img.set_size(50, 18)
- countdown_stop_img.set_src("U:/static/stopwatch_stop.png")
+ countdown_stop_img.set_size(99, 36)
+ countdown_stop_img.set_src("E:/static/stopwatch_stop.png")
countdown_stop_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- countdown_stop_img.set_pos(66, 100)
+ countdown_stop_img.set_pos(120, 260)
countdown_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
-
countdown_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
countdown_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
# EventMesh.publish("load_screen", {"screen": "countdown"})
def fun(self,e):
- date_tmp = utime.localtime()
- self.time_tmp = utime.mktime(date_tmp)
- total_sec = self.time_tmp - self.timeSecond
- # print("total_sec:{} self.time_tmp:{} self.timeSecond:{} self.total:{}".format(total_sec,self.time_tmp,self.timeSecond,self.total))
- if self.total > 0:
- self.total = self.total - total_sec
- self.timeSecond = self.time_tmp
-
-
- self.hour = self.total//3600
- self.min = self.total%3600//60
- self.sec = self.total%60
-
+ if self.g_state == 1:
+ date_tmp = utime.localtime()
+ self.time_tmp = utime.mktime(date_tmp)
+ total_sec = self.time_tmp - self.timeSecond
+ # print("total_sec:{} self.time_tmp:{} self.timeSecond:{} self.total:{}".format(total_sec,self.time_tmp,self.timeSecond,self.total))
+ if self.total > 0:
+ self.total = self.total - total_sec
+ self.timeSecond = self.time_tmp
+
+
+ self.hour = self.total//3600
+ self.min = self.total%3600//60
+ self.sec = self.total%60
+
- # print("self.total:{} self.time_tmp:{} self.timeSecond:{} test_hour:{} test_min:{} test_sec:{}".format(self.total,self.time_tmp,self.timeSecond,test_hour,test_min,test_sec))
- self.show_value()
- # print("Close self.timeSecond:22")
- EventMesh.publish("set_countdown_all_time", [self.total,self.timeSecond])
- if self.total <= 0:
- self.g_state = 0
- self.g_end = 1
- self.hour = 0
- self.min = 0
- self.sec = 0
- EventMesh.publish("set_countdown_off_state", [0,self.g_state])
- self.timer.stop()
- self.show_value()
- EventMesh.publish("load_screen", {"screen": "countdown_end"})
+ # print("self.total:{} self.time_tmp:{} self.timeSecond:{} test_hour:{} test_min:{} test_sec:{}".format(self.total,self.time_tmp,self.timeSecond,test_hour,test_min,test_sec))
+ self.show_value()
+ # print("Close self.timeSecond:22")
+ EventMesh.publish("set_countdown_all_time", [self.total,self.timeSecond])
+ if self.total <= 0:
+ self.g_state = 0
+ self.g_end = 1
+ self.hour = 0
+ self.min = 0
+ self.sec = 0
+ EventMesh.publish("set_countdown_off_state", [0,self.g_state])
+ self.timer.stop()
+ self.show_value()
+ EventMesh.publish("load_screen", {"screen": "countdown_end"})
# self.total = self.total - 1
msg_tmp = EventMesh.publish("get_countdown_off_state")
self.g_state = msg_tmp[1]
EventMesh.publish("set_countdown_off_state", [0,self.g_state])
-
def close_count_show_info(self, event, msg):
self.reset(0)
countdown_sec_up.clear_flag(lv.obj.FLAG.HIDDEN)
countdown_sec_down.clear_flag(lv.obj.FLAG.HIDDEN)
self.show_value()
+
+
def show_value(self):
else:
EventMesh.publish("set_countdown_off_state", [0,self.g_state])
+ def stop_count_down(self,*argc,a):
+ if self.g_state == 0:
+ self.timer.stop()
+
def done_return(self):
if self.g_state == 0:
self.timer.stop()
self.FIND_timer=osTimer()
self.aud = audio.Audio(0)
self.FIND_timer_count = 0
- self.meta_type = "popup"
def initialization(self):
global countdown_end_screen ,countdown_end_img ,countdown_end_label
print("countdown_end_screen")
countdown_end_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_end_img = lv.img(countdown_end_screen)
- countdown_end_img.set_size(38, 57)
- countdown_end_img.set_pos(45, 20)
- countdown_end_img.set_src("U:/static/time_finish.png")
+ countdown_end_img.set_size(140, 140)
+ countdown_end_img.set_pos(50, 60)
+ countdown_end_img.set_src("E:/static/time_finish.png")
countdown_end_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
countdown_end_label = lv.label(countdown_end_screen)
- countdown_end_label.set_pos(0, 90)
- countdown_end_label.set_size(128, 38)
+ countdown_end_label.set_pos(0, 240)
+ countdown_end_label.set_size(240, 40)
countdown_end_label.set_text("时间到")
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
+ self.FIND_timer.start(3000, 1, self.FIND_timer_cb)
EventMesh.publish("close_count_show_info")
- self.FIND_timer.start(2000, 1, self.FIND_timer_cb)
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放声音
+ self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') #播放声音
def FIND_timer_cb(self, *args):
EventMesh.publish("system_sleep_rest")#防止黑屏
self.stop_FIND()
EventMesh.publish("load_screen", {"screen": "countdown"})
return
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3')
+ self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3')
def stop_FIND(self) :
+
self.FIND_timer.stop()
self.aud.stopAll()
def Close(self):
- self.stop_FIND()
+ self.stop_FIND()
def done_left_to_right(self):
self.stop_FIND()
EventMesh.publish("load_screen", {"screen": "countdown"})
def done_click(self):
+ print("count down !!!!!!!!!!")
self.stop_FIND()
EventMesh.publish("load_screen", {"screen": "countdown"})
def initialization(self):
global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
- stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img,stopwatch_start_img ,\
+ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
stopwatch_start_imgbtn, stopwatch_stop_img
if stopwatch_screen == None :
stopwatch_screen = lv.obj()
stopwatch_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_title = lv.label(stopwatch_screen)
- stopwatch_title.set_pos(0, 5)
- stopwatch_title.set_size(128, 20)
+ stopwatch_title.set_pos(0, 20)
+ stopwatch_title.set_size(240, 20)
stopwatch_title.set_text("秒表")
stopwatch_title.set_long_mode(lv.label.LONG.WRAP)
stopwatch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
stopwatch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_label_min = lv.label(stopwatch_screen)
- stopwatch_label_min.set_pos(33, 50)
- stopwatch_label_min.set_size(20, 30)
+ stopwatch_label_min.set_pos(30, 140)
+ stopwatch_label_min.set_size(60, 30)
stopwatch_label_min.set_text("00")
stopwatch_label_min.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_label_min.set_long_mode(lv.label.LONG.WRAP)
stopwatch_label_min.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
stopwatch_mao = lv.label(stopwatch_screen)
- stopwatch_mao.set_pos(53, 50)
- stopwatch_mao.set_size(12, 30)
+ stopwatch_mao.set_pos(82, 138)
+ stopwatch_mao.set_size(30, 30)
stopwatch_mao.set_text(":")
stopwatch_mao.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_mao.set_long_mode(lv.label.LONG.WRAP)
stopwatch_label_sec = lv.label(stopwatch_screen)
- stopwatch_label_sec.set_pos(59, 50)
- stopwatch_label_sec.set_size(20, 30)
+ stopwatch_label_sec.set_pos(95, 140)
+ stopwatch_label_sec.set_size(60, 30)
stopwatch_label_sec.set_text("00")
stopwatch_label_sec.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_label_sec.set_long_mode(lv.label.LONG.WRAP)
- stopwatch_label_sec.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ stopwatch_label_sec.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
stopwatch_mao1 = lv.label(stopwatch_screen)
- stopwatch_mao1.set_pos(80, 50)
- stopwatch_mao1.set_size(12, 30)
+ stopwatch_mao1.set_pos(146, 138)
+ stopwatch_mao1.set_size(30, 30)
stopwatch_mao1.set_text(".")
stopwatch_mao1.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_mao1.set_long_mode(lv.label.LONG.WRAP)
stopwatch_label_ms = lv.label(stopwatch_screen)
- stopwatch_label_ms.set_pos(85, 50)
- stopwatch_label_ms.set_size(12, 30)
+ stopwatch_label_ms.set_pos(160, 140)
+ stopwatch_label_ms.set_size(60, 30)
stopwatch_label_ms.set_text("0")
stopwatch_label_ms.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
stopwatch_label_ms.set_long_mode(lv.label.LONG.WRAP)
stopwatch_reset_img = lv.img(stopwatch_screen)
- stopwatch_reset_img.set_size(50, 18)
- stopwatch_reset_img.set_src("U:/static/stopwatch_reset.png")
+ stopwatch_reset_img.set_size(99, 36)
+ stopwatch_reset_img.set_src("E:/static/stopwatch_reset.png")
stopwatch_reset_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- stopwatch_reset_img.set_pos(8, 90)
+ stopwatch_reset_img.set_pos(10, 210)
stopwatch_reset_imgbtn = lv.img(stopwatch_screen)
- stopwatch_reset_imgbtn.set_size(62, 33)
+ stopwatch_reset_imgbtn.set_size(99, 76)
stopwatch_reset_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
- stopwatch_reset_imgbtn.set_pos(0, 85)
+ stopwatch_reset_imgbtn.set_pos(10, 190)
stopwatch_start_img = lv.img(stopwatch_screen)
- stopwatch_start_img.set_size(50, 18)
- stopwatch_start_img.set_src("U:/static/stopwatch_play.png")
+ stopwatch_start_img.set_size(99, 36)
+ stopwatch_start_img.set_src("E:/static/stopwatch_play.png")
stopwatch_start_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- stopwatch_start_img.set_pos(66, 90)
+ stopwatch_start_img.set_pos(115, 210)
stopwatch_start_imgbtn = lv.img(stopwatch_screen)
- stopwatch_start_imgbtn.set_size(128-62, 33)
+ stopwatch_start_imgbtn.set_size(99, 76)
stopwatch_start_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
- stopwatch_start_imgbtn.set_pos(62, 85)
+ stopwatch_start_imgbtn.set_pos(115, 190)
stopwatch_stop_img = lv.img(stopwatch_screen)
- stopwatch_stop_img.set_size(50, 18)
- stopwatch_stop_img.set_src("U:/static/stopwatch_stop.png")
+ stopwatch_stop_img.set_size(99, 36)
+ stopwatch_stop_img.set_src("E:/static/stopwatch_stop.png")
stopwatch_stop_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- stopwatch_stop_img.set_pos(66, 90)
+ stopwatch_stop_img.set_pos(115, 210)
stopwatch_stop_img.add_flag(lv.obj.FLAG.HIDDEN)
stopwatch_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
lv.EVENT.CLICKED, None)
def start(self, e):
global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
- stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_start_img ,\
+ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
stopwatch_start_imgbtn, stopwatch_stop_img
print("stopwatch start:{}".format(self.s_state))
#self.timer.start(100, 1, self._fun)
def paused(self):
global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
- stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_start_img ,\
+ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
stopwatch_start_imgbtn, stopwatch_stop_img
print("stopwatch pause")
stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
def reset(self,e):
global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
- stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_start_img ,\
+ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
stopwatch_start_imgbtn, stopwatch_stop_img
print("stopwatch reset")
self.total_time+=1
if self.sec_value > 59:
self.sec_value = 0
- if self.total_time >= 99*60:
+ if self.total_time > 99*60:
self.total_time = 99*60
self.timer.stop()
stopwatch_start_img.clear_flag(lv.obj.FLAG.HIDDEN)
def show_value(self):
global stopwatch_screen,stopwatch_title,stopwatch_label_min,stopwatch_mao,stopwatch_label_sec ,\
- stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,stopwatch_start_img ,\
+ stopwatch_mao1 ,stopwatch_label_ms,stopwatch_reset_img ,topwatch_reset_imgbtn ,stopwatch_start_img ,\
stopwatch_start_imgbtn, stopwatch_stop_img
if self.total_time >= 99*60:
self.total_time = 99*60
- self.ms_value = 0
test_s = self.total_time % 60
test_m = self.total_time//60
# print("test_s:{} test_m:{} self.total_time:{}".format(test_s,test_m,self.total_time))
stopwatch_label_ms.set_text(str("%d"%(self.ms_value)))
stopwatch_label_sec.set_text(str("%02d"%(test_s)))
- # stopwatch_label_sec.set_text("{}:{}.{}".format("%02d"%(test_m),"%02d"%(test_s),"%d"%(self.ms_value)))
stopwatch_label_min.set_text(str("%02d"%(test_m)))
def Close(self):
def __init__(self):
super().__init__()
self.aud = audio.Audio(0)
+ # self.aud.setVolume(self.volum_size)
self.FIND_timer = osTimer()
self.FIND_timer_count = 0
+
self.meta = None
- self.meta_type = "popup"
def initialization(self):
- global FIND_screen ,findphone_img
+ global FIND_screen ,watchface_mpsignal_img
if FIND_screen ==None:
FIND_screen = lv.obj()
# add style for watchface
FIND_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
- findphone_img = lv.img(FIND_screen)
- findphone_img.set_pos(int(15),int(10))
- findphone_img.set_size(98,66)
- findphone_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- findphone_img.add_flag(lv.obj.FLAG.CLICKABLE)
- findphone_img.set_src("U:/static/find_phone.png")
- findphone_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-
- findphone_img_label = lv.label(FIND_screen)
- findphone_img_label.set_pos(int(0),int(90))
- findphone_img_label.set_size(128,66)
- findphone_img_label.set_text("点击关闭屏幕")
- findphone_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- findphone_img_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
-
-
+ watchface_mpsignal_img = lv.img(FIND_screen)
+ watchface_mpsignal_img.set_pos(int(40),int(45))
+ watchface_mpsignal_img.set_size(160,230)
+ watchface_mpsignal_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ watchface_mpsignal_img.add_flag(lv.obj.FLAG.CLICKABLE)
+ watchface_mpsignal_img.set_src("E:/static/find_phone.png")
+ watchface_mpsignal_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
self.meta = FIND_screen
utime.sleep_ms(200)#不加延时会切屏
self.FIND_timer_count = 0
print("self.FIND_timer_count:{}".format(self.FIND_timer_count))
- self.FIND_timer.start(2000, 1, self.FIND_timer_cb)
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放声音
+ self.FIND_timer.start(3000, 1, self.FIND_timer_cb)
+ self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') #播放声音
def FIND_timer_cb(self, *args):
EventMesh.publish("system_sleep_rest")
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3')
+ self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3')
self.FIND_timer_count += 1
if self.FIND_timer_count > 20: #120秒
self.stop_FIND()
Lowpower_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
Lowpower_screen_img = lv.img(Lowpower_screen)
- Lowpower_screen_img.set_pos(int(24),int(10))
- Lowpower_screen_img.set_size(80,80)
+ Lowpower_screen_img.set_pos(int(40),int(45))
+ Lowpower_screen_img.set_size(160,230)
Lowpower_screen_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
Lowpower_screen_img.add_flag(lv.obj.FLAG.CLICKABLE)
- Lowpower_screen_img.set_src("U:/static/low_power.png")
+ Lowpower_screen_img.set_src("E:/static/low_power.png")
Lowpower_screen_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
-
- Lowpower_screen_img_label = lv.label(Lowpower_screen)
- Lowpower_screen_img_label.set_pos(int(0),int(100))
- Lowpower_screen_img_label.set_size(128,28)
- Lowpower_screen_img_label.set_text("电量低")
- Lowpower_screen_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- Lowpower_screen_img_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
-
self.meta = Lowpower_screen
def done_left_to_right(self):
LowOnePower_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
LowOnePower_screen_img = lv.img(LowOnePower_screen)
- LowOnePower_screen_img.set_pos(int(47),int(5))
- LowOnePower_screen_img.set_size(30,49)
+ LowOnePower_screen_img.set_pos(int(86),int(30))
+ LowOnePower_screen_img.set_size(68,110)
LowOnePower_screen_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
LowOnePower_screen_img.add_flag(lv.obj.FLAG.CLICKABLE)
- LowOnePower_screen_img.set_src("U:/static/0_BAT.png")
+ LowOnePower_screen_img.set_src("E:/static/0_BAT.png")
LowOnePower_screen_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
LowOnePower_screen_label1 = lv.label(LowOnePower_screen)
- LowOnePower_screen_label1.set_pos(0, 55)
- LowOnePower_screen_label1.set_size(128, 73)
- LowOnePower_screen_label1.set_text("电池电量过低\n部分功能不能正常\n使用,5s过后强制关机")
+ LowOnePower_screen_label1.set_pos(0, 180)
+ LowOnePower_screen_label1.set_size(240, 60)
+ LowOnePower_screen_label1.set_text("电池电量过低,请及时充电")
LowOnePower_screen_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
LowOnePower_screen_label1.set_long_mode(lv.label.LONG.WRAP)
LowOnePower_screen_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # LowOnePower_screen_label2 = lv.label(LowOnePower_screen)
- # LowOnePower_screen_label2.set_pos(0, 70)
- # LowOnePower_screen_label2.set_size(128, 58)
- # LowOnePower_screen_label2.set_text("部分功能不能正常\n使用,5s过后强制关机")
- # LowOnePower_screen_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- # LowOnePower_screen_label2.set_long_mode(lv.label.LONG.WRAP)
- # LowOnePower_screen_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ LowOnePower_screen_label2 = lv.label(LowOnePower_screen)
+ LowOnePower_screen_label2.set_pos(0, 250)
+ LowOnePower_screen_label2.set_size(240, 60)
+ LowOnePower_screen_label2.set_text("继续使用,5s过后强制关机")
+ LowOnePower_screen_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ LowOnePower_screen_label2.set_long_mode(lv.label.LONG.WRAP)
+ LowOnePower_screen_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
self.meta = LowOnePower_screen
def post_processor_after_initialization(self):
self.timer.start(5000,0,self.fun)
-
-
def fun(self,e):
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
sos_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
- # sos_screen_label = lv.label(sos_screen)
- # sos_screen_label.set_pos(0, 5)
- # sos_screen_label.set_size(128, 20)
- # sos_screen_label.set_text("SOS")
- # sos_screen_label.add_style(style_font_youyuan_20_red, lv.PART.MAIN | lv.STATE.DEFAULT)
- # sos_screen_label.set_long_mode(lv.label.LONG.WRAP)
- # sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ sos_screen_label = lv.label(sos_screen)
+ sos_screen_label.set_pos(0, 20)
+ sos_screen_label.set_size(240, 30)
+ sos_screen_label.set_text("SOS")
+ sos_screen_label.add_style(style_font_youyuan_20_red, lv.PART.MAIN | lv.STATE.DEFAULT)
+ sos_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
sos_screen_label = lv.label(sos_screen)
- sos_screen_label.set_text("是否拨打求助电话?")
+ sos_screen_label.set_text("是否拨打紧急\n求助电话?")
sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- sos_screen_label.set_size(128, 20)
- sos_screen_label.set_pos(0,2)
+ sos_screen_label.set_size(240, 50)
+ sos_screen_label.set_pos(0,65)
sos_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_label = lv.label(sos_screen)
sos_screen_label.set_text("无操作10s后\n自动拨打")
sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- sos_screen_label.set_size(128, 40)
- sos_screen_label.set_pos(0,25)
+ sos_screen_label.set_size(240, 50)
+ sos_screen_label.set_pos(0,140)
sos_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_confirm_img = lv.img(sos_screen)
- sos_screen_confirm_img.set_size(88, 23)
- sos_screen_confirm_img.set_pos(20, 65)
- sos_screen_confirm_img.set_src("U:/static/off_icon.png")
+ sos_screen_confirm_img.set_size(176, 46)
+ sos_screen_confirm_img.set_pos(32, 210)
+ sos_screen_confirm_img.set_src("E:/static/off_icon.png")
sos_screen_confirm_img.add_flag(lv.obj.FLAG.CLICKABLE)
sos_screen_confirm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_confirm_label = lv.label(sos_screen_confirm_img)
sos_screen_confirm_label.set_text("确定")
- sos_screen_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+ sos_screen_confirm_label.align(lv.ALIGN.CENTER, 0, 5)
sos_screen_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_return = lv.img(sos_screen)
- sos_screen_return.set_size(88, 23)
- sos_screen_return.set_pos(20, 98)
- sos_screen_return.set_src("U:/static/cancel_icon.png")
+ sos_screen_return.set_size(176, 46)
+ sos_screen_return.set_pos(32, 270)
+ sos_screen_return.set_src("E:/static/cancel_icon.png")
sos_screen_return.add_flag(lv.obj.FLAG.CLICKABLE)
sos_screen_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_return_label = lv.label(sos_screen_return)
sos_screen_return_label.set_text("取消")
- sos_screen_return_label.align(lv.ALIGN.CENTER, 0, 0)
+ sos_screen_return_label.align(lv.ALIGN.CENTER, 0, 5)
sos_screen_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
sos_screen_return_label.set_ext_click_area(20)
EventMesh.publish("return_prev_screen")
pass
-charge_in_screen = None
-charge_in_screen_label = None
+
+no_sos_screen = None
+no_sos_screen_label = None
#没有设置紧急联系人的号码
-class chargeInScreen(Screen):
- NAME = "charge_in"
+class noSosDataScreen(Screen):
+ NAME = "NO_SOS_POPUP"
def __init__(self):
super().__init__()
self.meta = None
self.timer = osTimer()
def initialization(self):
- global charge_in_screen ,charge_in_screen_label
- if charge_in_screen == None :
- charge_in_screen = lv.obj()
- print("charge_in_screen")
- charge_in_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ global no_sos_screen ,no_sos_screen_label
+ if no_sos_screen == None :
+ no_sos_screen = lv.obj()
+ print("NO_SOS_POPUP")
+ no_sos_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
# add style for watchface
- charge_in_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+ no_sos_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
- charge_in_screen_label = lv.label(charge_in_screen)
- charge_in_screen_label.set_pos(0, 50)
- charge_in_screen_label.set_size(128, 20)
- charge_in_screen_label.set_text(" ")
- charge_in_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- charge_in_screen_label.set_long_mode(lv.label.LONG.WRAP)
- charge_in_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
- self.meta = charge_in_screen
+ no_sos_screen_label = lv.label(no_sos_screen)
+ no_sos_screen_label.set_pos(0, 110)
+ no_sos_screen_label.set_size(240, 80)
+ no_sos_screen_label.set_text("请在手机app上设置\n紧急联系人号码")
+ no_sos_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ no_sos_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ no_sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- def post_processor_after_initialization(self):
- global charge_in_screen_label
+ self.meta = no_sos_screen
+ def post_processor_before_initialization(self):
self.count = 0
self.timer.start(1000,1,self.timer_cb_onescond)
- charge_in_screen_label.set_text("正在充电")
-
+
def Close(self):
self.timer.stop()
def timer_cb_onescond(self,e):
EventMesh.publish("system_sleep_rest")#防止黑屏
self.count+=1
- if self.count >= 5:
+ if self.count >= 10:
self.count = 0
EventMesh.publish("return_prev_screen")
pass
def btn8_press(self):
- EventMesh.publish("return_prev_screen")
+
pass
def btn1_press(self):
EventMesh.publish("return_prev_screen")
pass
-charge_out_screen = None
-charge_out_screen_label = None
-#
-class chargeOutScreen(Screen):
- NAME = "charge_out"
+
+system_init_screen = None
+system_init_label = None
+class SystemInitScreen(Screen):
+ #系统初始化中...
+ NAME = "system_init"
+
def __init__(self):
super().__init__()
self.meta = None
- self.meta_type = "popup"
- self.count = 0
- self.timer = osTimer()
-
+ self.system_init_timer=osTimer()
+ self.system_init_timer_count = 0
def initialization(self):
- global charge_out_screen ,charge_out_screen_label
- if charge_out_screen == None :
- charge_out_screen = lv.obj()
- print("charge_out_screen")
- charge_out_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- # add style for watchface
- charge_out_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
- #进入图片
-
- charge_out_screen_label = lv.label(charge_out_screen)
- charge_out_screen_label.set_pos(0, 50)
- charge_out_screen_label.set_size(128, 20)
- charge_out_screen_label.set_text(" ")
- charge_out_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- charge_out_screen_label.set_long_mode(lv.label.LONG.WRAP)
- charge_out_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
+ global system_init_screen ,system_init_label
+ if system_init_screen == None:
+ system_init_screen = lv.obj()
+ print("Lowpower_screen")
+ system_init_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ system_init_label = lv.label(system_init_screen)
+ system_init_label.set_pos(0, 150)
+ system_init_label.set_size(240, 40)
+ system_init_label.set_text("系统初始化中")
+ system_init_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ system_init_label.set_long_mode(lv.label.LONG.WRAP)
+ system_init_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ self.meta = system_init_screen
+ self.system_init_timer_count = 0
+ self.system_init_timer.start(1000, 1, self.system_init_timer_cb)
- self.meta = charge_out_screen
-
-
-
- def post_processor_after_initialization(self):
- global charge_out_screen_label
- self.count = 0
- self.timer.start(1000,1,self.timer_cb_onescond)
- charge_out_screen_label.set_text("充电已移出")
-
- def Close(self):
- self.timer.stop()
-
- def timer_cb_onescond(self,e):
+ def system_init_timer_cb(self, *args):
EventMesh.publish("system_sleep_rest")#防止黑屏
- self.count+=1
- if self.count >= 5:
- self.count = 0
- EventMesh.publish("return_prev_screen")
-
-
- def done_left_to_right(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_right_to_left(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_bottom_to_top(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_top_to_bottom(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_return(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_click(self):
- EventMesh.publish("return_prev_screen")
- pass
-
- def btn8_press(self):
- EventMesh.publish("return_prev_screen")
- pass
- def btn1_press(self):
- EventMesh.publish("return_prev_screen")
- pass
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- pass
-
-no_sos_screen = None
-no_sos_screen_label = None
-
-#没有设置紧急联系人的号码
-class noSosDataScreen(Screen):
- NAME = "NO_SOS_POPUP"
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
- self.count = 0
- self.timer = osTimer()
-
- def initialization(self):
- global no_sos_screen ,no_sos_screen_label
- if no_sos_screen == None :
- no_sos_screen = lv.obj()
- print("NO_SOS_POPUP")
- no_sos_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- # add style for watchface
- no_sos_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
- #进入图片
-
- no_sos_screen_label = lv.label(no_sos_screen)
- no_sos_screen_label.set_pos(0, 40)
- no_sos_screen_label.set_size(128, 80)
- no_sos_screen_label.set_text("请在手机app上设\n置紧急联系人号码")
- no_sos_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sos_screen_label.set_long_mode(lv.label.LONG.WRAP)
- no_sos_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ self.system_init_timer_count += 1
+ if self.system_init_timer_count > 4:
+ self.system_init_timer_count = 1
+ if system_init_screen != None:
+ system_init_label_str = "系统初始化中"
+ if self.system_init_timer_count == 1:
+ system_init_label.set_text("系统初始化中.")
+ elif self.system_init_timer_count == 2:
+ system_init_label.set_text("系统初始化中..")
+ elif self.system_init_timer_count == 3:
+ system_init_label.set_text("系统初始化中...")
+ else:
+ system_init_label.set_text("系统初始化中....")
- self.meta = no_sos_screen
- def post_processor_before_initialization(self):
- self.count = 0
- self.timer.start(1000,1,self.timer_cb_onescond)
-
def Close(self):
- self.timer.stop()
-
- def timer_cb_onescond(self,e):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- self.count+=1
- if self.count >= 10:
- self.count = 0
- EventMesh.publish("return_prev_screen")
-
-
- def done_left_to_right(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_right_to_left(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_bottom_to_top(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_top_to_bottom(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_return(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_click(self):
- EventMesh.publish("return_prev_screen")
- pass
+ self.system_init_timer.stop()
- def btn8_press(self):
-
- pass
- def btn1_press(self):
- EventMesh.publish("return_prev_screen")
- pass
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- pass
-key_borad_screen = None
-key_borad_screen_label = None
+charge_in_screen = None
+charge_in_screen_label = None
-#键盘弹窗
-class keyboardScreen(Screen):#键盘弹窗
- NAME = "keyboard_popup"
+#正在充电
+class chargeInScreen(Screen):
+ NAME = "charge_in"
def __init__(self):
super().__init__()
self.meta = None
self.timer = osTimer()
def initialization(self):
- global key_borad_screen ,no_sos_screen_label
- if key_borad_screen == None :
- key_borad_screen = lv.obj()
- print("keyboard_popup")
- key_borad_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ global charge_in_screen ,charge_in_screen_label
+ if charge_in_screen == None :
+ charge_in_screen = lv.obj()
+ print("charge_in_screen")
+ charge_in_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
# add style for watchface
- key_borad_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+ charge_in_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
#进入图片
- key_borad_screen_label = lv.label(key_borad_screen)
- key_borad_screen_label.set_pos(0, 40)
- key_borad_screen_label.set_size(128, 80)
- key_borad_screen_label.set_text("如使用拨号盘,\n请在手机app上开启")
- key_borad_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- key_borad_screen_label.set_long_mode(lv.label.LONG.WRAP)
- key_borad_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
- self.meta = key_borad_screen
- def post_processor_before_initialization(self):
- self.count = 0
- self.timer.start(1000,1,self.timer_cb_onescond)
-
- def Close(self):
- self.timer.stop()
-
- def timer_cb_onescond(self,e):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- self.count+=1
- if self.count >= 5:
- self.count = 0
- EventMesh.publish("return_prev_screen")
-
-
- def done_left_to_right(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_right_to_left(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_bottom_to_top(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_top_to_bottom(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_return(self):
- EventMesh.publish("return_prev_screen")
- pass
- def done_click(self):
- EventMesh.publish("return_prev_screen")
- pass
-
- def btn8_press(self):
-
- pass
- def btn1_press(self):
- EventMesh.publish("return_prev_screen")
- pass
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
- pass
-
-no_sim_auto_screen = None
-no_sim_auto_screen_title = None
-no_sim_auto_screen_label =None
-no_sim_auto_screen_comfirm =None
-no_sim_autor_screen_cancel = None
-no_sim_auto_screen_img = None
-no_sim_confirm_label = None
-
-#未插卡,长按关机
-class NoSimAutoScreen(Screen):#无sim卡是否关机
- NAME = "no_sim_auto_screen"
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
- self.timer = osTimer()
- self.count = 0
-
- def initialization(self):
- global no_sim_auto_screen,no_sim_confirm_label,no_sim_cancel_label,no_sim_auto_screen_img,no_sim_auto_screen_title,no_sim_auto_screen_comfirm,no_sim_auto_screen_cancel,no_sim_auto_screen_label
- if no_sim_auto_screen == None :
- no_sim_auto_screen = lv.obj()
- print("no_sim_power_screen")
- no_sim_auto_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_auto_screen_title = lv.label(no_sim_auto_screen)
- no_sim_auto_screen_title.set_pos(0, 5)
- no_sim_auto_screen_title.set_size(128, 40)
- no_sim_auto_screen_title.set_text("无SIM卡,无操作\n30s后自动关机")
- no_sim_auto_screen_title.set_long_mode(lv.label.LONG.WRAP)
- no_sim_auto_screen_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- no_sim_auto_screen_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- # no_sim_auto_screen_img = lv.img(no_sim_auto_screen)
- # no_sim_auto_screen_img.set_pos(49, 40)
- # no_sim_auto_screen_img.set_size(30, 30)
- # no_sim_auto_screen_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # no_sim_auto_screen_img.set_src("E:/static/poweroff_icon.png")
-
-
- no_sim_auto_screen_label = lv.label(no_sim_auto_screen)
- no_sim_auto_screen_label.set_pos(0, 40)
- no_sim_auto_screen_label.set_size(128, 20)
- no_sim_auto_screen_label.set_text("是否关机?")
- no_sim_auto_screen_label.set_long_mode(lv.label.LONG.WRAP)
- no_sim_auto_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- no_sim_auto_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- no_sim_auto_screen_comfirm = lv.img(no_sim_auto_screen)
- no_sim_auto_screen_comfirm.set_size(88, 23)
- no_sim_auto_screen_comfirm.set_pos(20, 64)
- no_sim_auto_screen_comfirm.set_src("U:/static/off_icon.png")
- no_sim_auto_screen_comfirm.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_auto_screen_comfirm.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_confirm_label = lv.label(no_sim_auto_screen_comfirm)
- no_sim_confirm_label.set_text("确定")
- no_sim_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
- no_sim_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- no_sim_auto_screen_cancel = lv.img(no_sim_auto_screen)
- no_sim_auto_screen_cancel.set_size(88, 23)
- no_sim_auto_screen_cancel.set_pos(20, 95)
- no_sim_auto_screen_cancel.set_src("U:/static/cancel_icon.png")
- no_sim_auto_screen_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
- no_sim_auto_screen_cancel.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_cancel_label = lv.label(no_sim_auto_screen_cancel)
- no_sim_cancel_label.set_text("取消")
- no_sim_cancel_label.align(lv.ALIGN.CENTER, 0, 0)
- no_sim_cancel_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- no_sim_auto_screen_cancel.set_ext_click_area(20)
-
- self.meta = no_sim_auto_screen
- no_sim_auto_screen_comfirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
- lv.EVENT.CLICKED, None)
-
- no_sim_auto_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
- lv.EVENT.CLICKED, None)
- self.timer.start(1*1000,1,self.fun)
- self.count = 0
- def fun(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- self.count+=1
- if self.count > 30:
- self.count = 0
- self.timer.stop()
- EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
-
-
- def Close(self):
- self.count = 0
- self.timer.stop()
-
- def confirm(self,e):
- EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
-
- def cancel(self,e):
- EventMesh.publish("return_prev_screen")
-
- def done_return(self):
- EventMesh.publish("return_prev_screen")
-
- def btn1_release(self):
- EventMesh.publish("return_prev_screen")
-
- def btn8_press(self):
- EventMesh.publish("return_prev_screen")
-
-
-system_init_screen = None
-system_init_label = None
-class SystemInitScreen(Screen):
- #系统初始化中...
- NAME = "system_init"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.system_init_timer=osTimer()
- self.system_init_timer_count = 0
-
- def initialization(self):
- global system_init_screen ,system_init_label
- if system_init_screen == None:
- system_init_screen = lv.obj()
- print("Lowpower_screen")
- system_init_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- system_init_label = lv.label(system_init_screen)
- system_init_label.set_pos(0, 50)
- system_init_label.set_size(128, 20)
- system_init_label.set_text("系统初始化中")
- system_init_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- system_init_label.set_long_mode(lv.label.LONG.WRAP)
- system_init_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = system_init_screen
- self.system_init_timer_count = 0
- self.system_init_timer.start(1000, 1, self.system_init_timer_cb)
-
- def system_init_timer_cb(self, *args):
- EventMesh.publish("system_sleep_rest")#防止黑屏
- self.system_init_timer_count += 1
- if self.system_init_timer_count > 4:
- self.system_init_timer_count = 1
- if system_init_screen != None:
-
- system_init_label_str = "系统初始化中"
- if self.system_init_timer_count == 1:
- system_init_label.set_text("系统初始化中.")
- elif self.system_init_timer_count == 2:
- system_init_label.set_text("系统初始化中..")
- elif self.system_init_timer_count == 3:
- system_init_label.set_text("系统初始化中...")
- else:
- system_init_label.set_text("系统初始化中....")
-
- def Close(self):
- self.system_init_timer.stop()
-
-style_font_youyuan_30 = lv.style_t()
-style_font_youyuan_30.init()
-style_font_youyuan_30.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF))
-style_font_youyuan_30.set_text_font(lv.K01_font_30_DIAL)
-
-class_mgr_popup_screen = None
-class_mgr_popup_label = None
-class_mgr_popup_time1_text = None
-class classMgrPopupScreen(Screen):#上课禁用时间界面
- #上课禁用
- NAME = "class_time"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.timer = osTimer()
- def initialization(self):
- global class_mgr_popup_screen ,class_mgr_popup_label ,class_mgr_popup_time1_text
- if class_mgr_popup_screen == None:
- class_mgr_popup_screen = lv.obj()
- print("Lowpower_screen")
- class_mgr_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- class_mgr_popup_time1_text = lv.label(class_mgr_popup_screen)
- class_mgr_popup_time1_text.set_pos(0, 15)
- class_mgr_popup_time1_text.set_size(128, 71)
- class_mgr_popup_time1_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- class_mgr_popup_time1_text.set_text(" ")
- class_mgr_popup_time1_text.add_style(style_font_youyuan_30, lv.PART.MAIN|lv.STATE.DEFAULT)
-
- class_mgr_popup_label = lv.label(class_mgr_popup_screen)
- class_mgr_popup_label.set_pos(0, 60)
- class_mgr_popup_label.set_size(128, 50)
- class_mgr_popup_label.set_text("现在是上课时间点,禁用手表功能")
- class_mgr_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- class_mgr_popup_label.set_long_mode(lv.label.LONG.WRAP)
- class_mgr_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = class_mgr_popup_screen
-
- data = RTC().datetime()
- hour = data[4]
- min = data[5]
- class_mgr_popup_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
- self.timer.start(1*1000,1,self.fun)
-
- def lcd_on(self):
- self.timer.start(1*1000,1,self.fun)
-
- def lcd_off(self):
- self.timer.stop()
-
- def fun(self,*argc):
- global class_mgr_popup_time1_text
- data = RTC().datetime()
- hour = data[4]
- min = data[5]
- class_mgr_popup_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
-
-
- def btn1_release(self):
- flag = EventMesh.publish("get_lcd_state")
- if flag == 1:
- EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
- else:
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
-
- def btn8_press(self):
- flag = EventMesh.publish("get_lcd_state")
- if flag == 1:
- EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
- else:
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
-
-
-camera_popup_screen = None
-camera_popup_label = None
-def camCapturecallback(result_list):
- print("camCapturecallback",result_list)
- if result_list[0] == 0:#保存成功
- file = str(result_list[1])
- tmp = file.split('/')[3]
- tmp = tmp.split("_camera")[0]
- time = int(tmp)
- album_data = EventMesh.publish("get_camera_num")
- album_data_tmp = {}
- album_data_tmp["timeSec"] = time
- album_data[time] = album_data_tmp
- EventMesh.publish("set_camera_num",album_data)
- pass
- pass
-dec = camera.camCapture(0,240,320,1,128,128)
-dec.callback(camCapturecallback)
-
-camera_full_popup_screen = None
-camera_full_label_popup_screen = None
-class cameraFullScreen(Screen):#相册已满
- #
- NAME = "camera_full"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.meta_type = "popup"
-
-
- def initialization(self):
- global camera_full_popup_screen ,camera_full_label_popup_screen
-
-
- if camera_full_popup_screen == None:
- camera_full_popup_screen = lv.obj()
- print("camera_full")
- camera_full_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_full_label_popup_screen = lv.label(camera_full_popup_screen)
- camera_full_label_popup_screen.set_pos(0, 50)
- camera_full_label_popup_screen.set_size(128, 40)
- camera_full_label_popup_screen.set_text("相册已满,删除即可拍照")
- camera_full_label_popup_screen.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_full_label_popup_screen.set_long_mode(lv.label.LONG.WRAP)
- camera_full_label_popup_screen.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = camera_full_popup_screen
-
-
- def done_click(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-class cameraScreen(Screen):#相机拍照二级界面
- #
- NAME = "camera"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.timer = osTimer()
- self.timer2 =osTimer()
- self.camera_num = 0
-
- def initialization(self):
- global camera_popup_screen ,camera_popup_label
-
-
- if camera_popup_screen == None:
- camera_popup_screen = lv.obj()
- print("Lowpower_screen")
- camera_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_popup_label = lv.label(camera_popup_screen)
- camera_popup_label.set_pos(0, 20)
- camera_popup_label.set_size(128, 20)
- camera_popup_label.set_text("点击屏幕保存")
- camera_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_popup_label.set_long_mode(lv.label.LONG.WRAP)
- camera_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- self.meta = camera_popup_screen
- album_data = EventMesh.publish("get_camera_num")
- if len(album_data) >= 2:#相册已满
- EventMesh.publish("load_screen", {"screen": "camera_full"})
- pass
-
- state = dec.open()
- self.timer.start(1*1000,1,self.fun)
- print("state",state)
-
- def fun(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
-
-
- def Close(self):
- self.timer.stop()
- state = dec.close()
-
- def done_click(self):
- self.timer2.start(1*1000,0,self.save_album)#延迟1s保存图片
- pass
- def save_album(self,*argc):
- album_data = EventMesh.publish("get_camera_num")
- if len(album_data) < 2:
- date_tmp = utime.localtime()
- time_tmp = utime.mktime(date_tmp)
- dec.start(50,50, "U:/static/album/%d_camera"%(time_tmp))
- else:
- EventMesh.publish("load_screen", {"screen": "camera_full"})
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-
-camera_album_popup_screen = None
-camera_album_popup_label = None
-camera_album_popup_img = None
-imgbt_contanier = None
-camera_album_popup_img1 = None
-camera_album_popup_img2 = None
-camera_album_popup_img3 = None
-camera_album_popup_img4 = None
-camera_album_popup_img5 = None
-class cameraalbumScreen(Screen):#相册
- #
- NAME = "camera_album"
-
- def __init__(self):
- super().__init__()
- self.meta = None
-
- def initialization(self):
- global camera_album_popup_screen ,camera_album_popup_label,camera_album_popup_img1,camera_album_popup_img2,camera_album_popup_img3,camera_album_popup_img4,camera_album_popup_img5
-
- if camera_album_popup_screen == None:
- camera_album_popup_screen = lv.obj()
- print("camera_album_popup_screen")
- camera_album_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_album_popup_label = lv.label(camera_album_popup_screen)
- camera_album_popup_label.set_pos(0, 5)
- camera_album_popup_label.set_size(128, 20)
- camera_album_popup_label.set_text("相册预览")
- camera_album_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_album_popup_label.set_long_mode(lv.label.LONG.WRAP)
- camera_album_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- camera_album_popup_img1 = lv.img(camera_album_popup_screen)
- camera_album_popup_img1.set_pos(5, 30)
- camera_album_popup_img1.set_size(50, 50)
- camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img1.add_flag(lv.obj.FLAG.CLICKABLE)
- # camera_album_popup_img1.set_zoom(160)
- camera_album_popup_img1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.CLICKED, None)
-
- camera_album_popup_img2 = lv.img(camera_album_popup_screen)
- camera_album_popup_img2.set_pos(65, 30)
- camera_album_popup_img2.set_size(50, 50)
- camera_album_popup_img2.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img2.add_flag(lv.obj.FLAG.CLICKABLE)
- # camera_album_popup_img2.set_zoom(160)
- camera_album_popup_img2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.CLICKED, None)
-
- camera_album_popup_img3 = lv.img(camera_album_popup_screen)
- camera_album_popup_img3.set_pos(5, 90)
- camera_album_popup_img3.set_size(50, 50)
- camera_album_popup_img3.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img3.add_flag(lv.obj.FLAG.CLICKABLE)
- # camera_album_popup_img3.set_zoom(160)
- camera_album_popup_img3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,2)), lv.EVENT.CLICKED, None)
-
- camera_album_popup_img4 = lv.img(camera_album_popup_screen)
- camera_album_popup_img4.set_pos(50, 90)
- camera_album_popup_img4.set_size(65, 50)
- camera_album_popup_img4.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img4.add_flag(lv.obj.FLAG.CLICKABLE)
- # camera_album_popup_img4.set_zoom(160)
- camera_album_popup_img4.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,3)), lv.EVENT.CLICKED, None)
-
- camera_album_popup_img5 = lv.img(camera_album_popup_screen)
- camera_album_popup_img5.set_pos(5, 140)
- camera_album_popup_img5.set_size(50, 50)
- camera_album_popup_img5.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img5.add_flag(lv.obj.FLAG.CLICKABLE)
- # camera_album_popup_img5.set_zoom(160)
- camera_album_popup_img5.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,4)), lv.EVENT.CLICKED, None)
-
- self.meta = camera_album_popup_screen
- read_album = {}
- read_album = EventMesh.publish("get_camera_num")
- sort_new = {}
- sort_new = sorted(read_album.keys())#按照key的升序排序
- count = 0
- camera_album_popup_img1.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img2.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img3.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img4.add_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img5.add_flag(lv.obj.FLAG.HIDDEN)
-
- # print("sort_new read_album ",sort_new,read_album)
- for i in range(0,len(sort_new)):
- key = sort_new[i]
- value = int(read_album[key]["timeSec"])
- print(value)
- check_img = ql_fs.path_exists("/usr/static/album/%d_camera.jpg"%(value))
- if check_img == True :#图片存着
- print("图片存在显示")
- pass
- else:
- print("图片不存在不显示循环下一个显示")
- continue
-
- if count == 0:
- camera_album_popup_img1.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img1.set_src("U:/static/album/%d_camera.jpg"%(value)) #'U:/6_camera.jpeg'
- pass
- elif count == 1:
- camera_album_popup_img2.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img2.set_src("U:/static/album/%d_camera.jpg"%(value))#'U:/6_camera.jpeg'
- pass
- elif count == 2:
- camera_album_popup_img3.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img3.set_src("U:/static/album/%d_camera.jpg"%(value))#'U:/6_camera.jpeg'
- pass
- elif count == 3:
- camera_album_popup_img4.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img4.set_src("U:/static/album/%d_camera.jpg"%(value))#'U:/6_camera.jpeg'
- pass
- elif count == 4:
- camera_album_popup_img5.clear_flag(lv.obj.FLAG.HIDDEN)
- camera_album_popup_img5.set_src("U:/static/album/%d_camera.jpg"%(value))#'U:/6_camera.jpeg'
- pass
- count+=1
-
- def click_album(self,e,i):
- read_album = {}
- read_album = EventMesh.publish("get_camera_num")
- if len(read_album) != 0 and i < len(read_album):
- sort_new = {}
- sort_new = sorted(read_album.keys())
- key = sort_new[i]
- value = int(read_album[key]["timeSec"])
- self.meta_info = value
- print(self.meta_info,i)
- EventMesh.publish("load_screen", {"screen": "album_preview","meta": self.meta_info})#点击进入相册预览大图显示
- print(i)
- pass
-
- def Close(self):
- pass
-
- def done_click(self):
-
- pass
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-album_preview_popup_screen = None
-album_preview_popup_img = None
-album_preview_popup_delet_con_label = None
-album_preview_popup_delet_con_label = None
-album_preview_popup_delet_label = None
-class albumPreviewScreen(Screen):#点击预览
- #
- NAME = "album_preview"
-
- def __init__(self):
- super().__init__()
- self.meta = None
-
- def initialization(self):
- global album_preview_popup_screen ,album_preview_popup_delet_label,album_preview_popup_img,album_preview_popup_delet_can_label,album_preview_popup_delet_con_label
-
- if album_preview_popup_screen == None:
- album_preview_popup_screen = lv.obj()
- print("album_preview_popup_screen")
- album_preview_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- album_preview_popup_img = lv.img(album_preview_popup_screen)
- album_preview_popup_img.set_pos(39, 5)
- album_preview_popup_img.set_size(50,50)
- # album_preview_popup_img.set_zoom(400)
-
- album_preview_popup_delet_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_label.set_pos(0, 65)
- album_preview_popup_delet_label.set_size(128, 20)
- album_preview_popup_delet_label.set_text("是否删除")
- album_preview_popup_delet_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- album_preview_popup_delet_con_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_con_label.set_pos(0, 95)
- album_preview_popup_delet_con_label.set_size(64, 33)
- album_preview_popup_delet_con_label.set_text("确定")
- album_preview_popup_delet_con_label.add_flag(lv.obj.FLAG.CLICKABLE)
- album_preview_popup_delet_con_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_con_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_con_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
- album_preview_popup_delet_can_label = lv.label(album_preview_popup_screen)
- album_preview_popup_delet_can_label.set_pos(64, 95)
- album_preview_popup_delet_can_label.set_size(64, 33)
- album_preview_popup_delet_can_label.set_text("取消")
- album_preview_popup_delet_can_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- album_preview_popup_delet_can_label.set_long_mode(lv.label.LONG.WRAP)
- album_preview_popup_delet_can_label.add_flag(lv.obj.FLAG.CLICKABLE)
- album_preview_popup_delet_can_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- self.meta = album_preview_popup_screen
- album_num_tmp = None
- album_num_tmp = int(self.meta_info)
- print(album_num_tmp)
- album_preview_popup_delet_can_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.cancel_pop(e)),lv.EVENT.CLICKED,None)
- album_preview_popup_delet_con_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.confirm_pop(e)),lv.EVENT.CLICKED,None)
-
- album_preview_popup_img.set_src("U:/static/album/%d_camera.jpg"%(album_num_tmp))#'U:/6_camera.jpeg'
-
- def cancel_pop(self,e):#取消删除
- EventMesh.publish("load_screen", {"screen": "main_menu"})#点击回到相册界面
- pass
-
- def confirm_pop(self,e):#确认删除
- # album_num = int(self.meta_info.split(':')[1])
- album_num_tmp = None
- album_num_tmp = int(self.meta_info)
- print(album_num_tmp)
-
- check_img = ql_fs.path_exists("/usr/static/album/%d_camera.jpg"%(album_num_tmp))
- if check_img == True :#图片存在
- uos.remove("/usr/static/album/%d_camera.jpg"%(album_num_tmp))#删除单张图片
- read_album = {}
- read_album = EventMesh.publish("get_camera_num")#删除的同时把数据部分也清掉
- print("img is exit1",read_album)
- if read_album != {}:
- key_tmp = album_num_tmp
- del read_album[key_tmp]#删除内容
- EventMesh.publish("set_camera_num",read_album)
- print("img is exit2",read_album)
- pass
- else:#图片不存在
- print("img is not exit")
- pass
- EventMesh.publish("load_screen", {"screen": "camera_album"})#点击回到相册界面
- pass
-
- def Close(self):
- pass
-
- def done_click(self):
- pass
-
- def done_return(self):
-
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-camera_video_screen = None
-camera_video_label_screen = None
-class cameraVdieoScreen(Screen):#视频通话
- #上课禁用
- NAME = "camera_video"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.timer = osTimer()
- self.open_preview1 = 0
-
- def initialization(self):
- global camera_video_screen,camera_video_label_screen
-
- if camera_video_screen == None:
- camera_video_screen = lv.obj()
- print("Lowpower_screen")
- camera_video_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- camera_video_label_screen = lv.label(camera_video_screen)
- camera_video_label_screen.set_pos(0, 40)
- camera_video_label_screen.set_size(128, 40)
- camera_video_label_screen.set_text(" ")
- camera_video_label_screen.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_video_label_screen.set_long_mode(lv.label.LONG.WRAP)
- camera_video_label_screen.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- self.meta = camera_video_screen
-
- if EventMesh.publish(constants.EVENT.GET_CONNECT) != 0:#未联网提示关机
- self.preview1 = camera.camPreview(0,240,320,128,128,1)
- state = self.preview1.open()
- self.timer.start(1*1000,1,self.fun)
- camera_video_label_screen.set_text(" ")
- self.open_preview1 = 1
- else:
- self.open_preview1 = 0
- camera_video_label_screen.set_text("无SIM卡或无网络")
-
- def fun(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
- def Close(self):
- if self.open_preview1 == 1:
- self.timer.stop()
- self.preview1.close()
-
- def done_click(self):
- pass
-
-
-
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-style_screen_calendar_1_extra_header_main_default = lv.style_t()
-style_screen_calendar_1_extra_header_main_default.init()
-style_screen_calendar_1_extra_header_main_default.set_bg_color(lv.color_make(0x21,0x95,0xf6))
-style_screen_calendar_1_extra_header_main_default.set_bg_grad_color(lv.color_make(0x21,0x95,0xf6))
-style_screen_calendar_1_extra_header_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
-style_screen_calendar_1_extra_header_main_default.set_bg_opa(255)
-style_screen_calendar_1_extra_header_main_default.set_text_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_extra_header_main_default.set_text_font(lv.K01_font_16_ALL)
-
-style_screen_calendar_1_main_main_default = lv.style_t()
-style_screen_calendar_1_main_main_default.init()
-style_screen_calendar_1_main_main_default.set_radius(0)
-style_screen_calendar_1_main_main_default.set_bg_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_main_main_default.set_bg_grad_color(lv.color_make(0xff,0xff,0xff))
-style_screen_calendar_1_main_main_default.set_bg_grad_dir(lv.GRAD_DIR.NONE)
-style_screen_calendar_1_main_main_default.set_bg_opa(255)
-style_screen_calendar_1_main_main_default.set_border_color(lv.color_make(0xc0,0xc0,0xc0))
-style_screen_calendar_1_main_main_default.set_border_width(1)
-style_screen_calendar_1_main_main_default.set_border_opa(255)
-
-# add style for screen_calendar_1
-
-
-
-
-calendar_screen = None
-calendar_label_screen = None
-screen_calendar_1 = None
-class calendar_Screen(Screen):#日历
- #上课禁用
- NAME = "calendar_screen"
-
- def __init__(self):
- super().__init__()
- self.meta = None
- self.preview1 = None
- self.timer = osTimer()
- self.open_preview1 = 0
-
- def initialization(self):
- global calendar_screen,calendar_label_screen,screen_calendar_1
- data = RTC().datetime()
- hour = data[4]
- min = data[5]
-
- week = data[3]
-
- date1 = data[0]
- date2 = data[1]
- date3 = data[2]
- highlighted_days=[lv.calendar_date_t({'year':date1, 'month':date2, 'day':date3})]
- if calendar_screen == None:
- calendar_screen = lv.obj()
- print("calendar_screen")
- calendar_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- screen_calendar_1 = lv.calendar(calendar_screen)
- screen_calendar_1.set_pos(int(0),int(30))
- screen_calendar_1.set_size(240,260)
- screen_calendar_1.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- screen_calendar_1.set_today_date(date1,date2,date3)
- screen_calendar_1.set_showed_date(date1,date2)
- screen_calendar_1.set_highlighted_dates(highlighted_days, len(highlighted_days))
- screen_calendar_1.add_style(style_screen_calendar_1_main_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
-
- screen_calendar_1_header = lv.calendar_header_arrow(screen_calendar_1)
- screen_calendar_1_header.add_style(style_screen_calendar_1_extra_header_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
- screen_calendar_1.get_btnmatrix().add_event_cb(lambda e: EventMesh.callback_wrapper(self.style_screen_calendar_1_extra_ctrl_day_names_items_default_event_cb(e)), lv.EVENT.DRAW_PART_BEGIN, None)
- # screen_calendar_1.get_btnmatrix().add_event_cb(style_screen_calendar_1_extra_ctrl_day_names_items_default_event_cb, lv.EVENT.DRAW_PART_BEGIN, None)
- screen_calendar_1.get_btnmatrix().add_event_cb(lambda e: EventMesh.callback_wrapper(self.style_screen_calendar_1_extra_ctrl_days_of_current_month_items_default_event_cb(e)),lv.EVENT.DRAW_PART_BEGIN,None)
-
- screen_calendar_1.get_btnmatrix().add_event_cb(lambda e: EventMesh.callback_wrapper(self.style_screen_calendar_1_extra_ctrl_highlight_items_default_event_cb(e)),lv.EVENT.DRAW_PART_BEGIN,None)
-
- screen_calendar_1.get_btnmatrix().add_event_cb(lambda e: EventMesh.callback_wrapper(self.style_screen_calendar_1_extra_ctrl_today_items_default_event_cb(e)),lv.EVENT.DRAW_PART_BEGIN,None)
-
- screen_calendar_1.get_btnmatrix().add_event_cb(lambda e: EventMesh.callback_wrapper(self.style_screen_calendar_1_extra_ctrl_other_month_items_default_event_cb(e)),lv.EVENT.DRAW_PART_BEGIN,None)
-
- self.meta = calendar_screen
-
-
- screen_calendar_1.set_today_date(date1,date2,date3)
- screen_calendar_1.set_showed_date(date1,date2)
- screen_calendar_1.set_highlighted_dates(highlighted_days, len(highlighted_days))
-
- if EventMesh.publish(constants.EVENT.GET_CONNECT) != 0:#未联网提示关机
- self.preview1 = camera.camPreview(0,240,320,128,128,1)
- state = self.preview1.open()
- self.timer.start(1*1000,1,self.fun)
- camera_video_label_screen.set_text(" ")
- self.open_preview1 = 1
- else:
- self.open_preview1 = 0
-
- camera_video_label_screen.set_text("无SIM卡或无网络")
-
-
-
- def style_screen_calendar_1_extra_ctrl_days_of_current_month_items_default_event_cb(self,e):
- obj = lv.btnmatrix.__cast__(e.get_target())
- dsc = lv.obj_draw_part_dsc_t.__cast__(e.get_param())
- if (dsc.id >= 7
- and not obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.CUSTOM_1)
- and not obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.CUSTOM_2)
- and not obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.DISABLED)):
- dsc.rect_dsc.bg_color = lv.color_make(0x01,0xa2,0xb1)
-
- dsc.rect_dsc.bg_opa = 0
- dsc.rect_dsc.border_color = lv.color_make(0xc0,0xc0,0xc0)
- dsc.rect_dsc.border_width = 1
- dsc.rect_dsc.border_opa = 255
- if dsc.label_dsc:
- dsc.label_dsc.color = lv.color_make(0x0D,0x30,0x55)
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- dsc.label_dsc.font = lv.K01_font_16_ALL
-
-
-
- def style_screen_calendar_1_extra_ctrl_day_names_items_default_event_cb(self,e):
- obj = lv.btnmatrix.__cast__(e.get_target())
- dsc = lv.obj_draw_part_dsc_t.__cast__(e.get_param())
- if dsc.id < 7:
-
- if dsc.label_dsc:
- dsc.label_dsc.color = lv.color_make(0x0D,0x30,0x55)
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- dsc.label_dsc.font = lv.K01_font_16_ALL
-
-
- def style_screen_calendar_1_extra_ctrl_highlight_items_default_event_cb(self,e):
- obj = lv.btnmatrix.__cast__(e.get_target())
- dsc = lv.obj_draw_part_dsc_t.__cast__(e.get_param())
- if dsc.id >= 7 and obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.CUSTOM_2):
- dsc.rect_dsc.bg_color = lv.color_make(0x21,0x95,0xf6)
-
- dsc.rect_dsc.bg_opa = 255
- if dsc.label_dsc:
- dsc.label_dsc.color = lv.color_make(0x0D,0x30,0x55)
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- dsc.label_dsc.font = lv.K01_font_16_ALL
-
-
- def style_screen_calendar_1_extra_ctrl_today_items_default_event_cb(self,e):
- obj = lv.btnmatrix.__cast__(e.get_target())
- dsc = lv.obj_draw_part_dsc_t.__cast__(e.get_param())
- if dsc.id >= 7 and obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.CUSTOM_1):
- dsc.rect_dsc.bg_color = lv.color_make(0x01,0xa2,0xb1)
-
- dsc.rect_dsc.bg_opa = 255
- dsc.rect_dsc.border_color = lv.color_make(0xc0,0xc0,0xc0)
- dsc.rect_dsc.border_width = 1
- dsc.rect_dsc.border_opa = 255
- if dsc.label_dsc:
- dsc.label_dsc.color = lv.color_make(0x0D,0x30,0x55)
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- dsc.label_dsc.font = lv.K01_font_16_ALL
-
-
- def style_screen_calendar_1_extra_ctrl_other_month_items_default_event_cb(self,e):
- obj = lv.btnmatrix.__cast__(e.get_target())
- dsc = lv.obj_draw_part_dsc_t.__cast__(e.get_param())
- if dsc.id >= 7 and obj.has_btn_ctrl(dsc.id, lv.btnmatrix.CTRL.DISABLED):
- dsc.rect_dsc.bg_color = lv.color_make(0x01,0xa2,0xb1)
-
- dsc.rect_dsc.bg_opa = 0
- if dsc.label_dsc:
- dsc.label_dsc.color = lv.color_make(0xA9,0xA2,0xA2)
- try:
- lv.K01_font_16_ALL
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- try:
- lv.font_montserrat_13
- dsc.label_dsc.font = lv.K01_font_16_ALL
- except AttributeError:
- dsc.label_dsc.font = lv.K01_font_16_ALL
-
- def fun(self,*argc):
- EventMesh.publish("system_sleep_rest")#防止黑屏
-
-
- def Close(self):
- if self.open_preview1 == 1:
- self.timer.stop()
- self.preview1.close()
-
- def done_click(self):
- pass
-
-
-
-
- def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
- def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
- pass
-
-
-
-
-calculator_CALL_MAX_DATA = 16
-
-calculator_line_points = [{"x":0,"y":0},{"x":0,"y":40}]
-calculator_screen = None
-calculator_line = None
-calculator_label = None
-calculator_one = None
-calculator_two = None
-calculator_three = None
-calculator_four = None
-calculator_five = None
-calculator_six = None
-calculator_seven = None
-calculator_eight = None
-calculator_nine = None
-calculator_start = None
-calculator_zero = None
-calculator_hash = None
-calculator_call = None
-calculator_call_btn = None
-calculator_contact = None
-calculator_contact_btn = None
-calculator_delete = None
-calculator_delete_btn = None
-
-class calculatorScreen(Screen):
- NAME = "calculator"
-
- def __init__(self):
-
- super().__init__()
- self.meta = None
- self.phone_num = ''
- self.phone_list = []
- self.button = 0
- self.timer = osTimer()
- self.timer_cb = 0
- self.count = 0
-
-
-
- def initialization(self):
- self.phone_num=''
- self.phone_list = []
- global calculator_screen ,calculator_line,calculator_label,calculator_one,calculator_two,calculator_three,calculator_four,calculator_five,calculator_six,calculator_seven,calculator_eight,calculator_nine,calculator_start,\
- calculator_zero,calculator_hash,calculator_call,calculator_call_btn,calculator_contact,calculator_contact_btn,calculator_delete,calculator_delete_btn
-
- size_x = 36 #按钮大小
- size_y = 22
- start_x = 5
- start_y = 25
-
- offset_y = 4
- if calculator_screen == None:
- calculator_screen = lv.obj()
- print("phone_screen")
- calculator_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- # phone_line = lv.line(phone_screen)
- # phone_line.set_points(phone_line_points,2)
- # phone_line.set_pos(125,5)
- # phone_line.set_size(2,18)
- # phone_line.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- # phone_line.add_style(style_line,0)
- calculator_label_screen = lv.obj(calculator_screen)
- calculator_label_screen.set_pos(0,0)
- calculator_label_screen.set_size(128,16)
- calculator_label_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
- print("phone_screen")
- calculator_label_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
- calculator_label = lv.label(calculator_label_screen)
- calculator_label.set_pos(0, 0)
- calculator_label.set_size(0, 20)
- calculator_label.set_text(" ")
- calculator_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- calculator_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
- calculator_one = lv.img(calculator_screen)
- calculator_one.set_src("U:/static/IMAGE_NUMBER_KEY1_ICON.png")
- calculator_one.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_one.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_one.set_pos(start_x, start_y)
- calculator_one.set_size(size_x, size_y)
-
- calculator_two = lv.img(calculator_screen)
- calculator_two.set_size(size_x, size_y)
- calculator_two.set_src("U:/static/IMAGE_NUMBER_KEY2_ICON.png")
- calculator_two.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_two.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_two.set_pos(start_x+size_x+5*1, start_y)
-
- calculator_three = lv.img(calculator_screen)
- calculator_three.set_size(size_x, size_y)
- calculator_three.set_src("U:/static/IMAGE_NUMBER_KEY3_ICON.png")
- calculator_three.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_three.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_three.set_pos(start_x+size_x*2+5*2, start_y)
-
- calculator_four = lv.img(calculator_screen)
- calculator_four.set_size(size_x, size_y)
- calculator_four.set_src("U:/static/IMAGE_NUMBER_KEY4_ICON.png")
- calculator_four.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_four.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_four.set_pos(start_x, start_y+size_y+offset_y)
-
- calculator_five = lv.img(calculator_screen)
- calculator_five.set_size(size_x, size_y)
- calculator_five.set_src("U:/static/IMAGE_NUMBER_KEY5_ICON.png")
- calculator_five.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_five.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_five.set_pos(start_x+size_x+5*1, start_y+size_y+offset_y)
-
- calculator_six = lv.img(calculator_screen)
- calculator_six.set_size(size_x, size_y)
- calculator_six.set_src("U:/static/IMAGE_NUMBER_KEY6_ICON.png")
- calculator_six.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_six.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_six.set_pos(start_x+size_x*2+5*2, start_y+size_y+offset_y)
-
- calculator_seven = lv.img(calculator_screen)
- calculator_seven.set_size(size_x, size_y)
- calculator_seven.set_src("U:/static/IMAGE_NUMBER_KEY7_ICON.png")
- calculator_seven.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_seven.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_seven.set_pos(start_x, start_y+size_y*2+offset_y*2)
-
- calculator_eight = lv.img(calculator_screen)
- calculator_eight.set_size(size_x, size_y)
- calculator_eight.set_src("U:/static/IMAGE_NUMBER_KEY8_ICON.png")
- calculator_eight.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_eight.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_eight.set_pos(start_x+size_x+5*1, start_y+size_y*2+offset_y*2)
-
- calculator_nine = lv.img(calculator_screen)
- calculator_nine.set_size(size_x, size_y)
- calculator_nine.set_src("U:/static/IMAGE_NUMBER_KEY9_ICON.png")
- calculator_nine.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_nine.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_nine.set_pos(start_x+size_x*2+5*2, start_y+size_y*2+offset_y*2)
-
- # phone_start = lv.img(phone_screen)
- # phone_start.set_size(size_x, size_y)
- # phone_start.set_src("U:/static/IMAGE_NUMBER_KEYSTAR_ICON.png")
- # phone_start.add_flag(lv.obj.FLAG.CLICKABLE)
- # phone_start.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # phone_start.set_pos(start_x, start_y+size_y*3)
-
- # calculator_delete = lv.img(calculator_screen)
- # calculator_delete.set_size(size_x, size_y)
- # calculator_delete.set_src("U:/static/IMAGE_BUTTON_DELKEY.png")
- # calculator_delete.add_flag(lv.obj.FLAG.CLICKABLE)
- # calculator_delete.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # calculator_delete.set_pos(start_x, start_y+size_y*3+offset_y*3)
-
- calculator_delete = lv.label(calculator_screen)
- calculator_delete.set_pos(start_x, start_y+size_y*3+offset_y*3)
- calculator_delete.set_size(start_x+size_x+5*1-start_x, 128-(start_y+size_y*3+offset_y*3))
- calculator_delete.set_text("/")
- calculator_delete.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_delete.set_long_mode(lv.label.LONG.CLIP)
- calculator_delete.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_delete.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-
-
-
- calculator_zero = lv.img(calculator_screen)
- calculator_zero.set_size(size_x, size_y)
- calculator_zero.set_src("U:/static/IMAGE_NUMBER_KEY0_ICON.png")
- calculator_zero.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_zero.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_zero.set_pos(start_x+size_x+5*1, start_y+size_y*3+offset_y*3)
-
- calculator_call = lv.label(calculator_screen)
- calculator_call.set_pos(start_x+size_x*2+5*2, start_y+size_y*3+offset_y*3)
- calculator_call.set_size(128-(start_x+size_x*2+5*2), 128-(start_y+size_y*3+offset_y*3))
- calculator_call.set_text("-")
- calculator_call.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
- calculator_call.set_long_mode(lv.label.LONG.CLIP)
- calculator_call.add_flag(lv.obj.FLAG.CLICKABLE)
- calculator_call.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # calculator_call = lv.img(calculator_screen)
- # calculator_call.set_size(size_x, size_y)
- # calculator_call.set_src("U:/static/IMAGE_BUTTON_DIAL.png")
- # calculator_call.add_flag(lv.obj.FLAG.CLICKABLE)
- # calculator_call.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
- # calculator_call.set_pos(start_x+size_x*2+5*2, start_y+size_y*3+offset_y*3)
-
-
-
- self.meta = calculator_screen
-
- calculator_one.add_event_cb(lambda e: EventMesh.callback_wrapper(self.one(e)),
- lv.EVENT.CLICKED, None)
- calculator_two.add_event_cb(lambda e: EventMesh.callback_wrapper(self.two(e)),
- lv.EVENT.CLICKED, None)
- calculator_three.add_event_cb(lambda e: EventMesh.callback_wrapper(self.three(e)),
- lv.EVENT.CLICKED, None)
- calculator_four.add_event_cb(lambda e: EventMesh.callback_wrapper(self.four(e)),
- lv.EVENT.CLICKED, None)
- calculator_five.add_event_cb(lambda e: EventMesh.callback_wrapper(self.five(e)),
- lv.EVENT.CLICKED, None)
- calculator_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)),
- lv.EVENT.CLICKED, None)
- calculator_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
-
- calculator_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- calculator_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
- calculator_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)),
- lv.EVENT.CLICKED, None)
- calculator_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
-
- calculator_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- calculator_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine_endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
- # phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
- # lv.EVENT.CLICKED, None)
-
- calculator_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)#短按显示*
-
- calculator_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- calculator_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero_endpressed_start(e)),
- lv.EVENT.RELEASED, None)#释放按键
-
- calculator_call.add_event_cb(lambda e: EventMesh.callback_wrapper(self.call(e)),
- lv.EVENT.CLICKED, None)
- # phone_contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.contact(e)),
- # lv.EVENT.CLICKED, None)
- calculator_delete.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete(e)),
- lv.EVENT.CLICKED, None)
-
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- # lv.EVENT.CLICKED, None)#短按显示*
-
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
- # lv.EVENT.LONG_PRESSED, None)#长按显示+
-
- # phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
- # lv.EVENT.RELEASED, None)#释放按键
-
-
- # phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)),
- # lv.EVENT.CLICKED, None)
-
-
- self.phone_num=''
- self.calcul_num=''
- self.phone_list = []
- self.one_buf = ''
- self.two_buf = ''
- self.operator = ''
- self.result_buf = ''#计算结果
-
-
- self.count = 0
- self.show_num()
- if calculator_label != None:
- calculator_label.set_pos(0, 0)
- calculator_label.set_size(0, 0)
- calculator_label.set_text(" ")
- #phone_label.set_text(" ")
- # print("self.phone_list :{} self.phone_num:{}".format(self.phone_list,self.phone_num))
- if self.timer_cb == 0:
- self.timer_cb = 1
- # self.timer.start(1000,1,self.refresh_line)
-
-
- def refresh_line(self,e):
- return
- if self.count > 2 :
- self.count = 1
- if self.count%2 == 0:
- phone_line.clear_flag(lv.obj.FLAG.HIDDEN)
- else:
- phone_line.add_flag(lv.obj.FLAG.HIDDEN)
- self.count+=1
- def one(self,e):
- self.input_num("1")
-
- def two(self,e):
- self.input_num("2")
-
- def three(self,e):
- self.input_num(".")
- # self.input_num("3")
-
- def four(self,e):
- self.input_num("4")
-
- def five(self,e):
- self.input_num("5")
-
- def six(self,e):
- self.input_num("6")
-
- def seven(self,e):
- self.input_num("7")
-
- def eight(self,e):
- self.input_num("8")
-
- def nine(self,e):
- self.input_num("9")
-
- def zero(self,e):
- self.input_num("0")
-
- def start(self,e):
- self.button = 0
-
- def pressed_start(self,e):
- self.button = 1
- def Close(self):
- self.timer_cb = 0
- self.timer.stop()
-
- def nine_endpressed_start(self,e):
-
- if self.button == 1:#长按
- self.input_char("=")
-
- else:#短按
- self.input_num("9")
-
-
-
- def zero_endpressed_start(self,e):
-
- if self.button == 1:#长按
- self.input_char("+")
- else:#短按
- self.input_num("0")
-
-
-
- def endpressed_start(self,e):
- if self.button == 1:#长按
- self.input_char("*")
- else:#短按
- self.input_num("7")
-
-
- def hash(self,e):
-
- self.calculator_fun("#")
-
- def is_all_zero(self,lst):
- return all(element == 0 for element in lst)
-
- def input_num(self,msg):#输入数字
- if msg == 'delete':
- if len(self.result_buf) == 0:
- if self.one_buf != '':
- if self.operator != '':
- if self.two_buf != '':
- self.phone_list = list(self.two_buf)
- self.phone_list.pop()
- self.two_buf = ''.join(self.phone_list)
- print("two_buf!!!")
- else:
- self.phone_list = list(self.operator)
- self.phone_list.pop()
- self.operator = ''.join(self.phone_list)
- print("self.operator!!!")
- else:
- self.phone_list = list(self.one_buf)
- self.phone_list.pop()
- self.one_buf = ''.join(self.phone_list)
- print("self.one_buf!!!")
- self.show_result()#显示计算结果以及输入结果
- return
- global calculator_label
- print("input_num",msg)
- if len(self.result_buf) > 0:
- self.result_buf = ''
- self.two_buf = ''
- self.one_buf = ''
-
- if self.one_buf == '':#第一个数字为空
- if msg == '.':#如果第一个数据为空并且输入的第一个数字是.就直接置0.开始
- self.one_buf = "0."
- else:
- self.one_buf = self.one_buf+msg
- else:
- if self.operator == '':#没有特殊字符 + - / * 一直会将数字添加到数字1中 否则添加到数字2中
- if self.one_buf.find('.') == -1:
- if len(self.one_buf) <= 10 and len(self.one_buf) > 0:#第二个数据超过10个数据不让输入 0
- if len(self.one_buf) == 1 and self.one_buf == '0' and msg != '.':
- self.one_buf = msg
- else:
- self.one_buf = self.one_buf+msg#还是第一个数据继续加 0
- pass
- else:
- if len(self.one_buf) > 10:
- print("大于是10位数字")
- pass
- else:
- if msg == '.':
- self.one_buf = '0.'
- else:
- self.one_buf = self.one_buf+msg#还是第一个数据继续加 0
- pass
- else:
- if self.one_buf.find('.') != -1:#找到一个点如果还是点的话不让点
- if msg != '.':
- if len(self.one_buf) <= 10:
- self.one_buf = self.one_buf+msg#还是第一个数据继续加 0
-
- else:
-
- if self.two_buf.find('.') == -1:
- if len(self.two_buf) <= 10 and len(self.two_buf) > 0:#第二个数据超过10个数据不让输入 0
- if len(self.two_buf) == 1 and self.two_buf == '0' and msg != '.':
- self.two_buf = msg
- else:
- self.two_buf = self.two_buf+msg#还是第一个数据继续加 0
- pass
- else:
- if len(self.two_buf) > 10:
- pass
- else:
- if msg == '.':
- self.two_buf = '0.'
- else:
- self.two_buf = self.two_buf+msg#还是第一个数据继续加 0
- pass
- else:
- if self.two_buf.find('.') != -1:
- if msg != '.':
- if len(self.two_buf) <= 10:
- self.two_buf = self.two_buf+msg#还是第一个数据继续加 0
-
-
- self.show_result()#显示计算结果以及输入结果
- pass
+ charge_in_screen_label = lv.label(charge_in_screen)
+ charge_in_screen_label.set_pos(0, 170)
+ charge_in_screen_label.set_size(240, 20)
+ charge_in_screen_label.set_text(" ")
+ charge_in_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ charge_in_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ charge_in_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- def input_char(self,msg):#输入字符
-
- if self.one_buf != '':
- if self.one_buf.find(".") != -1:
- tmp = self.one_buf.split(".")[1]
- if len(tmp) == 0:
- self.one_buf = self.one_buf.split('.')[0]
- if self.two_buf != '':
- if self.two_buf.find(".") != -1:
- tmp = self.two_buf.split(".")[1]
- if len(tmp) == 0:
- self.two_buf = self.two_buf.split('.')[0]
-
- global calculator_label
- if len(self.two_buf) != 0 and float(self.two_buf) == 0:#0.000
- if self.operator == '/' and (msg == '/' or msg == '=' or msg == '*'or msg == '+' or msg =='-'):#如果第二个数据为0并且符号是除号就提示除数不为0
- print("除数不可以为0")
- self.operator = ''
- self.one_buf = ''
- self.two_buf = ''
- calculator_label.set_text("除数不可以为0")
- return
- else:
- print("除数不为0")
- self.show_result()
-
- self.result_buf = ''
- print("input_char",msg)
- if self.one_buf != '':#只有第一个数据不为空的时候才可以输入特殊字符
- if msg == "+":#加
- if self.one_buf != '':
- if self.operator != '':#90
- print("operator")
- if self.two_buf != '':#90+90 计算结果 -0.9
-
- if self.one_buf.find('.') != -1:
- if self.one_buf.find('e') == -1:#1.2e
- if int(self.one_buf.split(".")[1]) == 0:
- self.one_buf = self.one_buf.split('.')[0]
-
- if self.two_buf.find('.') != -1:
- if self.two_buf.find('e') == -1:#1.2e
- if int(self.two_buf.split('.')[1]) == 0:
- self.two_buf = self.two_buf.split('.')[0]
-
- str_sum = ''
- # if self.one_buf.find('e') != -1:#1.2e
- # tmp1 = (self.one_buf.split('e')[0])#2.1717041952680391897126070275863e-15
- # tmp2 = (self.one_buf.split('e')[1])
- # if len(tmp2) > 0:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+tmp2))
- # else:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+"0"))
- # pass
- # pass
- # else:
- str_sum = (self.one_buf.split()[0])+self.operator+(self.two_buf.split()[0])
- self.result_buf = str(eval(str_sum))
- # pass
-
- print("str_sum",str_sum,self.result_buf)
- if self.result_buf.find('e') == -1:
- if self.result_buf.find('.') != -1:#有小数点
- print("input_dot",self.result_buf)
- if int(self.result_buf.split(".")[1]) == 0:#小数点后面全是0 就取整数
- self.result_buf = (self.result_buf.split(".")[0])
-
- if len(self.result_buf) > 14:#99978654.087766666
- tmp = str(self.result_buf[:14])
- self.result_buf = tmp
-
- self.one_buf = str(self.result_buf)
- self.two_buf = ''
- self.operator = ''
- self.show_result()#显示计算结果以及输入结果
- else:
- if self.operator != '+':#有+就不需要再显示+
- self.operator = msg#90 没有特殊字符则加上不计算结果
- if self.one_buf.split()[0] == 0:#如果数字是0.就显示0负数不在内
- self.one_buf = "0"
- self.show_result()#显示计算结果以及输入结果
- else:
- print("operator !!!!!")
- self.operator = msg
- self.show_result()#显示计算结果以及输入结果
- pass
- elif msg == '-':#减
- if self.one_buf != '':
- if self.operator != '':#90
- print("operator!!!!!!!!!!!!")
- if self.two_buf != '':#90+90 计算结果 -0.9
- if self.one_buf.find('.') != -1:
- if self.one_buf.find('e') == -1:#1.2e
- if int(self.one_buf.split(".")[1]) == 0:
- self.one_buf = self.one_buf.split('.')[0]
-
- if self.two_buf.find('.') != -1:
- if self.two_buf.find('e') == -1:#1.2e
- if int(self.two_buf.split('.')[1]) == 0:
- self.two_buf = self.two_buf.split('.')[0]
- str_sum = ''
- # if self.one_buf.find('e') != -1:#1.2e
- # tmp1 = (self.one_buf.split('e')[0])#2.1717041952680391897126070275863e-15
- # tmp2 = (self.one_buf.split('e')[1])
- # if len(tmp2) > 0:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+tmp2))
- # else:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+"0"))
- # pass
- # pass
- # else:
- str_sum = (self.one_buf.split()[0])+self.operator+(self.two_buf.split()[0])
- self.result_buf = str(eval(str_sum))
-
- print("str_sum",str_sum,self.result_buf)
- if self.result_buf.find('e') == -1:
- if self.result_buf.find('.') != -1:#有小数点
- print("input_dot",self.result_buf)
- if int(self.result_buf.split(".")[1]) == 0:#小数点后面全是0 就取整数
- self.result_buf = (self.result_buf.split(".")[0])
-
- if len(self.result_buf) > 14:#99978654.087766666
- tmp = str(self.result_buf[:14])
- self.result_buf = tmp
-
- self.one_buf = str(self.result_buf)
- self.two_buf = ''
- self.operator = ''
- self.show_result()#显示计算结果以及输入结果
- else:
- if self.operator != '-':#有+就不需要再显示+
- self.operator = msg#90 没有特殊字符则加上不计算结果
- if self.one_buf.split()[0] == 0:#如果数字是0.就显示0负数不在内
- self.one_buf = "0"
- self.show_result()#显示计算结果以及输入结果
- else:
- print("operator ---------")
- self.operator = msg
- self.show_result()#显示计算结果以及输入结果
- pass
- elif msg == '*':#乘
- if self.one_buf != '':
- if self.operator != '':#90
- print("operator====***********")
- if self.two_buf != '':#90+90 计算结果 -0.9
- if self.one_buf.find('.') != -1:
- if self.one_buf.find('e') == -1:#1.2e
- if int(self.one_buf.split(".")[1]) == 0:
- self.one_buf = self.one_buf.split('.')[0]
-
- if self.two_buf.find('.') != -1:
- if self.two_buf.find('e') == -1:#1.2e
- if int(self.two_buf.split('.')[1]) == 0:
- self.two_buf = self.two_buf.split('.')[0]
-
- str_sum = ''
- # if self.one_buf.find('e') != -1:#1.2e
- # tmp1 = (self.one_buf.split('e')[0])#2.1717041952680391897126070275863e-15
- # tmp2 = (self.one_buf.split('e')[1])
- # if len(tmp2) > 0:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+tmp2))
- # else:
- # self.result_buf = str(eval(tmp1 + "*"+"10**"+"0"))
- # pass
- # pass
- # else:
- str_sum = (self.one_buf.split()[0])+self.operator+(self.two_buf.split()[0])
- self.result_buf = str(eval(str_sum))
- # pass
-
- print("str_sum",str_sum,self.result_buf)
- if self.result_buf.find('e') == -1:#有e
- if self.result_buf.find('.') != -1:#有小数点
- print("input_dot",self.result_buf)
- if int(self.result_buf.split(".")[1]) == 0:#小数点后面全是0 就取整数
- self.result_buf = (self.result_buf.split(".")[0])
-
- if len(self.result_buf) > 14:#99978654.087766666
- tmp = str(self.result_buf[:14])
- self.result_buf = tmp
-
- self.one_buf = str(self.result_buf)
- self.two_buf = ''
- self.operator = ''
- self.show_result()#显示计算结果以及输入结果
- else:
- if self.operator != '*':#有+就不需要再显示+
- self.operator = msg#90 没有特殊字符则加上不计算结果
- if self.one_buf.split()[0] == 0:#如果数字是0.就显示0负数不在内
- self.one_buf = "0"
- self.show_result()#显示计算结果以及输入结果
- else:
- print("operator **********")
- self.operator = msg
- self.show_result()#显示计算结果以及输入结果
- pass
-
- elif msg == '/':#除
- if self.one_buf != '':
- if self.operator != '':#90
- print("operator ==== //////////",self.two_buf)
- if self.two_buf != '':#90+90 计算结果 -0.9
- if float(self.two_buf) != 0:
- if self.one_buf.find('.') != -1:
- if self.one_buf.find('e') == -1:#1.2e
- if int(self.one_buf.split(".")[1]) == 0:
- self.one_buf = self.one_buf.split('.')[0]
-
- if self.two_buf.find('.') != -1:
- if self.two_buf.find('e') == -1:#1.2e
- if int(self.two_buf.split('.')[1]) == 0:
- self.two_buf = self.two_buf.split('.')[0]
-
- str_sum = ''
- # if self.one_buf.find('e') != -1:#1.2e
-
- # tmp = (self.one_buf.split('e')[0])
-
- # str_sum = tmp + self.operator + self.two_buf
- # self.result_buf = str(eval(str_sum))+'e'
- # pass
- # else:
- str_sum = (self.one_buf.split()[0])+self.operator+(self.two_buf.split()[0])
- self.result_buf = str(eval(str_sum))
- # pass
-
- print("str_sum",str_sum,self.result_buf)
- if self.result_buf.find('e') == -1:#有小数点
- if self.result_buf.find('.') != -1:#有小数点
- print("input_dot",self.result_buf)
- if int(self.result_buf.split(".")[1]) == 0:#小数点后面全是0 就取整数
- self.result_buf = (self.result_buf.split(".")[0])
-
- # if len(self.result_buf) > 14:#99978654.087766666
- # tmp = str(self.result_buf[:14])
- # self.result_buf = tmp
-
- self.one_buf = str(self.result_buf)
- self.two_buf = ''
- self.operator = ''
- self.show_result()#显示计算结果以及输入结果
- else:
- print("除数不为0")
- else:
- if self.operator != '/':#有+就不需要再显示+
- self.operator = msg#90 没有特殊字符则加上不计算结果
- if self.one_buf.split()[0] == 0:#如果数字是0.就显示0负数不在内
- self.one_buf = "0"
- self.show_result()#显示计算结果以及输入结果
- else:
- print("operator ////////////////////")
- self.operator = msg
- self.show_result()#显示计算结果以及输入结果
- pass
-
- pass
-
- elif msg == '=':#等于
- if self.one_buf != '':
- if self.operator != '':
- print("operator ===========")
- if self.two_buf != '':#90+90 计算结果 -0.9
- if float(self.two_buf) != 0:
- if self.one_buf.find('.') != -1:
- if self.one_buf.find('e') == -1:#1.2e
- if int(self.one_buf.split(".")[1]) == 0:
- self.one_buf = self.one_buf.split('.')[0]
-
- if self.two_buf.find('.') != -1:
- if self.two_buf.find('e') == -1:#1.2e
- if int(self.two_buf.split('.')[1]) == 0:
- self.two_buf = self.two_buf.split('.')[0]
-
- str_sum = ''
- # if self.one_buf.find('e') != -1:#1.2e
- # tmp = (self.one_buf.split('e')[0])
- # str_sum = tmp + self.operator + self.two_buf
- # self.result_buf = str(eval(str_sum))+'e'
- # pass
- # else:
- str_sum = (self.one_buf.split()[0])+self.operator+(self.two_buf.split()[0])
- self.result_buf = str(eval(str_sum))
- # pass
-
- print("str_sum",str_sum,self.result_buf)
- if self.result_buf.find('e') == -1:#有小数点
- if self.result_buf.find('.') != -1:#有小数点
- print("input_dot",self.result_buf)
- if int(self.result_buf.split(".")[1]) == 0:#小数点后面全是0 就取整数
- self.result_buf = (self.result_buf.split(".")[0])
-
- if len(self.result_buf) > 14:#99978654.087766666
- tmp = str(self.result_buf[:14])
- self.result_buf = tmp
-
- self.one_buf = str(self.result_buf)
- self.two_buf = ''
- self.operator = ''
- self.show_result()#显示计算结果以及输入结果
- else:
- if self.operator != '=':#有=就不需要再显示+ 90
- self.operator = '' #90 没有特殊字符则加上不计算结果
- self.two_buf = ''
- self.show_result()#显示计算结果以及输入结果
+ self.meta = charge_in_screen
- pass
- else:
- self.operator = ''
- self.two_buf = ''
- self.show_result()#显示计算结果以及输入结果 只显示第一个数据的内容
-
- pass
- else:
- #无效的数据
- pass
-
+ def post_processor_after_initialization(self):
+ global charge_in_screen_label
+ self.count = 0
+ self.timer.start(1000,1,self.timer_cb_onescond)
+ charge_in_screen_label.set_text("正在充电")
- def show_result(self):
- print("self.one_buf ",self.one_buf,self.two_buf,self.operator)
- global calculator_label
- tmp = str(self.one_buf)+str(self.operator)+str(self.two_buf)
- label_size = len(tmp)*16
- calculator_label.set_pos(0, 0)
- calculator_label.set_size(128, 16)
- calculator_label.set_text(tmp)
-
- def calculator_fun(self,msg):
- result = 0
- if len(self.phone_num) >= calculator_CALL_MAX_DATA:#限制拨号数量20个数字
- #self.phone_list.pop(0)
- return
- if len(self.phone_num) != 0:
- if len(self.calcul_num) > 0:
- self.calcul_num = ''
- if msg == "+" or msg == '-' or msg == 'X' or msg == '/':#如果是计算完结果再按特殊字符就让他继续加
- print("不包含特殊字符1")
-
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- else:#
- print("不包含特殊字符2",msg)
- if msg == '=':
- self.show_num()
- else:
-
- self.phone_num = ''
- self.phone_list = []
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
+ def Close(self):
+ self.timer.stop()
- else:
-
+ def timer_cb_onescond(self,e):
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ self.count+=1
+ if self.count >= 5:
+ self.count = 0
+ EventMesh.publish("return_prev_screen")
- if self.phone_num.find('/') != -1 or self.phone_num.find('+') != -1 or self.phone_num.find('x') != -1 or self.phone_num.find('-') != -1:
-
-
- tmp_2 = ''
- tmp_3 = ''
- state1 = 0
- state2 = 0
- state3 = 0
- tmp_1 = ''
- tmp = ''
- data1 = 0
- data2 = 0
-
- if self.phone_num.find('+') != -1:#加运算
- if (self.phone_num.split('+')[0]).find('.') == -1:#还没有输入小数点 0.00
- tmp = self.phone_num.split('+')[0]
- tmp = float(tmp.split()[0])
-
-
-
- pass
-
- data1 = float(self.phone_num.split('+')[0])
-
- if len(self.phone_num.split('+')[1]) > 0 and (msg == '+' or msg =='='):#计算结果
- # tmp = self.phone_num.split('+')[0]
- # data1 = float(tmp.split()[0])
- # tmp2 = self.phone_num.split('+')[1]
- # data2 = float(tmp2.split()[0])
- # if self.phone_num.split('+')[0].find('.') == -1:
- # if int(data2) == 0:
- # data1 = int(data1)
-
- # if self.phone_num.split('+')[1].find('.') == -1:
- # if int(data2) == 0:
- # data2 = int(data2)
- if self.phone_num.find('e') != -1:
- if (self.phone_num.split('+')[0]).split('e') != -1 or (self.phone_num.split('+')[1]).split('e') != -1:
- if (self.phone_num.split('+')[0]).split('e') != -1 and (self.phone_num.split('+')[1]).split('e') != -1:
- self.phone_num = "2.71828182+2.71828182"
- elif (self.phone_num.split('+')[0]).split('e') != -1:
- self.phone_num = self.phone_num.split('+')[0] +"2.71828182"
- elif (self.phone_num.split('+')[1]).split('e') != -1:
- self.phone_num = "2.71828182"+ self.phone_num.split('+')[1]
-
- sum = eval(self.phone_num)
-
- result = sum
- print("data1",data1,data2,result,sum)
- self.calcul_num = str(result)
- self.calaulator_results()
-
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- print("加数====",result)
- else:
- if msg == '-' or msg == '/' or msg == 'X':
- self.phone_list.pop()
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- print("减数")
- else:
- if msg != '=' and msg != '+':
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- else:
- result = data1
- result_tmp = str(result)
- if result_tmp.find('.') != -1:
- tmp_zero = int(result_tmp.split('.')[1])
- if tmp_zero == 0:
- result = result_tmp.split('.')[0]
- print("data1!!!!!!!!!!",data1,data2,result)
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- print("减数")
- print("加数")
-
- if self.phone_num.find('-') != -1:#减运算
- data1 = float(self.phone_num.split('-')[0])
- if len(self.phone_num.split('-')[1]) > 0 and (msg == '-' or msg =='='):#计算结果
- data2 = float(self.phone_num.split('-')[1])
- # if self.phone_num.split('-')[0].find('.') == -1:
- # if int(data1) == 0:
- # data1 = int(data1)
-
- # if self.phone_num.split('-')[1].find('.') == -1:
- # if int(data2.slpit('.')[1]) == 0:
- # data2 = int(data2)
- result = data1-data2
- print("data1222222222222",data1,data2,result)
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- else:
- if msg == '+' or msg == '/' or msg == 'X':
- self.phone_list.pop()
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- print("减数")
- else:
- if msg != '=' and msg != '-':
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- else:
- # if self.phone_num.split('-')[1].find('.') == -1:
- # if int(data1.slpit('.')[1]) == 0:
- # data1 = int(data1)
- result = data1
- result_tmp = str(result)
- if result_tmp.find('.') != -1:
- tmp_zero = int(result_tmp.split('.')[1])
- if tmp_zero == 0:
- result = result_tmp.split('.')[0]
- print("data333333",data1)
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
-
+ def done_left_to_right(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_right_to_left(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_bottom_to_top(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_top_to_bottom(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_return(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_click(self):
+ EventMesh.publish("return_prev_screen")
+ pass
- if self.phone_num.find('X') != -1:#乘运算
- data1 = float(self.phone_num.split('X')[0])
- if len(self.phone_num.split('X')[1]) > 0 and (msg == 'X' or msg =='='):#计算结果
-
- data2 = float(self.phone_num.split('X')[1])
- # if self.phone_num.split('X')[0].find('.') == -1:
- # if int(data1.slpit('.')[1]) == 0:
- # data1 = int(data1)
-
- # if self.phone_num.split('X')[1].find('.') == -1:
- # if int(self.phone_num.split('X')[1].find('.').slpit('.')[1]) == 0:
- # data2 = int(data2)
-
- result = data1*data2
- print("data44444",data1,data2)
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- print("乘数====",result)
- else:
- if msg == '+' or msg == '/' or msg == '-':
- self.phone_list.pop()
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- print("乘数")
- else:
- if msg != '=' and msg != 'X':
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- else:
- # if self.phone_num.split('X')[0].find('.') == -1:
- # if (self.phone_num.split('X')[1].find('.') == -1:)
- result = data1
- result_tmp = str(result)
- if result_tmp.find('.') != -1:
- tmp_zero = int(result_tmp.split('.')[1])
- if tmp_zero == 0:
- result = result_tmp.split('.')[0]
- print("data5555555",data1,data2)
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
-
-
- if self.phone_num.find('/') != -1:#除运算
-
- tmp = self.phone_num.split('/')[0]
- tmp_1 = self.phone_num.split('/')[1]
- if len(tmp_1) > 0 and (msg == '/' or msg == '='):
- if tmp_1.find('.') != -1:
- state1 = int(tmp_1.split('.')[0])#0.009 10:00
- state2 = int(tmp_1.split('.')[1])#0.009
+ def btn8_press(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def btn1_press(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def btn1_release(self):
+ EventMesh.publish("return_prev_screen")
+ pass
- else:
- state1 = int(tmp_1) #10
- print("state3",state1,state2,state3,tmp_1)
- if (state1 == 0 and state2 == 0):
- print("除数不可以为0")
- else:
- data1 = float(self.phone_num.split('/')[0])
- data2 = 0
- # if data1.find('.') == -1:
- # if int(data1.slpit('.')[1]) == 0:
- # data1 = int(data1)
-
- # if data2.find('.') == -1:
- # if int(data2.slpit('.')[1]) == 0:
- # data2 = int(data2)
-
- if len(self.phone_num.split('/')[1]) > 0:
- data2 = float(self.phone_num.split('/')[1])
- if data2 != 0:
- result = data1/data2
- else:
- result = data1
- print("data6666666",data1,data2)
-
- result_tmp = str(result)
- if result_tmp.find('.') != -1:
- tmp_zero = int(result_tmp.split('.')[1])
- if tmp_zero == 0:
- result = result_tmp.split('.')[0]
- else:
- pass
- self.calcul_num = str(result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- else:
- if msg == '+' or msg == 'X' or msg == '-':
- self.phone_list.pop()
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- print("减数")
- else:
- if msg != '=' and msg != '/':
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- else:
- result = float(tmp)
- self.calcul_num = str(result)
- print("data7777777777",result)
- self.calaulator_results()
- self.phone_num = self.calcul_num
- self.phone_list = list(self.phone_num)
- print("除数没有数字")
- else:
-
+charge_out_screen = None
+charge_out_screen_label = None
- if msg == '=':
- self.show_num()
- pass
- else:
- if msg == "+" and msg == '-' and msg == 'X' and msg == '/':#如果是计算完结果再按特殊字符就让他继续加
- print("不包含特殊字符")
- self.calcul_num = ''
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- elif msg == ".":
- if self.phone_num.find('.') == -1:#还没有输入小数点
- self.phone_num = '0.'
- self.phone_list = list(self.phone_num)
- self.show_num()
- pass
- else:#
- print("不包含特殊字符")
- if len(self.calcul_num) > 0:#表示已计算了一次结果 全部置0
- self.phone_num = ''
- self.phone_list = []
- self.calcul_num = ''
-
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
+#充电已移出
+class chargeOutScreen(Screen):
+ NAME = "charge_out"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ self.count = 0
+ self.timer = osTimer()
- else:
- if msg != "+" and msg != '-' and msg != 'X' and msg != '/':
- print("数组为0时")
- self.phone_list.append(msg)
- self.phone_num = ''.join(self.phone_list)
- self.show_num()
- pass
- def delete(self,e):
- self.input_char("/")
- # if len(self.phone_list) != 0:
- # self.phone_list.pop()
- # self.phone_num = ''.join(self.phone_list)
- # self.show_num()
+ def initialization(self):
+ global charge_out_screen ,charge_out_screen_label
+ if charge_out_screen == None :
+ charge_out_screen = lv.obj()
+ print("charge_out_screen")
+ charge_out_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+ # add style for watchface
+ charge_out_screen.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
+ #进入图片
- def contact(self,e):
- EventMesh.publish("load_screen", {"screen": "contacts"})
+ charge_out_screen_label = lv.label(charge_out_screen)
+ charge_out_screen_label.set_pos(0, 170)
+ charge_out_screen_label.set_size(240, 20)
+ charge_out_screen_label.set_text(" ")
+ charge_out_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ charge_out_screen_label.set_long_mode(lv.label.LONG.WRAP)
+ charge_out_screen_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- def call(self,e):
- self.input_char("-")
- def show_num(self):
- print("self.phone_num ",self.phone_num,self.phone_list)
- pass
- # global calculator_label
- # calculator_label.set_pos(0, 5)
- # calculator_label.set_size(128, 20)
- # calculator_label.set_text(self.phone_num)
+ self.meta = charge_out_screen
+
+
- def calaulator_results(self):#计算结果显示
- pass
+ def post_processor_after_initialization(self):
+ global charge_out_screen_label
+ self.count = 0
+ self.timer.start(1000,1,self.timer_cb_onescond)
+ charge_out_screen_label.set_text("充电已移出")
+ def Close(self):
+ self.timer.stop()
- def lcd_on(self):
- if self.timer_cb != 0:
- self.timer_cb = 0
- self.timer.start(1000,1,self.refresh_line)
-
- def lcd_off(self):
- self.timer_cb = 1
- self.timer.stop()
+ def timer_cb_onescond(self,e):
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ self.count+=1
+ if self.count >= 5:
+ self.count = 0
+ EventMesh.publish("return_prev_screen")
+ def done_left_to_right(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_right_to_left(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_bottom_to_top(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_top_to_bottom(self):
+ EventMesh.publish("return_prev_screen")
+ pass
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
- def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ pass
+ def done_click(self):
+ EventMesh.publish("return_prev_screen")
+ pass
def btn8_press(self):
- EventMesh.publish("watch_top_show")
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
+ EventMesh.publish("return_prev_screen")
+ pass
+ def btn1_press(self):
+ EventMesh.publish("return_prev_screen")
+ pass
+ def btn1_release(self):
+ EventMesh.publish("return_prev_screen")
+ pass
rrestor_confirm_n_screen = None
rrestor_confirm_n_screen_label = None
#进入图片
rrestor_confirm_n_screen_label = lv.label(rrestor_confirm_n_screen)
- rrestor_confirm_n_screen_label.set_pos(0, 40)
- rrestor_confirm_n_screen_label.set_size(128, 60)
+ rrestor_confirm_n_screen_label.set_pos(0, 150)
+ rrestor_confirm_n_screen_label.set_size(240, 60)
rrestor_confirm_n_screen_label.set_text("正在恢复出厂中\n请稍等...")
rrestor_confirm_n_screen_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
rrestor_confirm_n_screen_label.set_long_mode(lv.label.LONG.WRAP)
if ret == True:
ql_fs.rmdirs("/ext/static/storage_file")
ql_fs.mkdirs("/ext/static/storage_file")
-
+ EventMesh.publish("alipay_unbind")
if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:#已连接服务器发指令恢复出厂
EventMesh.publish(constants.PROTOCOL.DLT_SEND)
self.timer2.start(4000,0,self.timer_cb_threescond)
def btn1_release(self):
pass
+style_font_youyuan_70_red = lv.style_t()
+style_font_youyuan_70_red.init()
+style_font_youyuan_70_red.set_text_color(lv.color_make(0xff, 0xff, 0xff))
+style_font_youyuan_70_red.set_text_font(lv.font_70_bold)
+
+class_mgr_popup_screen = None
+class_mgr_popup_label = None
+class_mgr_popup_time1_text = None
+class classMgrPopupScreen(Screen):#上课禁用时间界面
+ #上课禁用
+ NAME = "class_time"
+
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.timer = osTimer()
+ def initialization(self):
+ global class_mgr_popup_screen ,class_mgr_popup_label ,class_mgr_popup_time1_text
+ if class_mgr_popup_screen == None:
+ class_mgr_popup_screen = lv.obj()
+ print("Lowpower_screen")
+ class_mgr_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ class_mgr_popup_time1_text = lv.label(class_mgr_popup_screen)
+ class_mgr_popup_time1_text.set_pos(0, 10)
+ class_mgr_popup_time1_text.set_size(240, 80)
+ class_mgr_popup_time1_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ class_mgr_popup_time1_text.set_text(" ")
+ class_mgr_popup_time1_text.add_style(style_font_youyuan_70_red, lv.PART.MAIN|lv.STATE.DEFAULT)
+
+ class_mgr_popup_label = lv.label(class_mgr_popup_screen)
+ class_mgr_popup_label.set_pos(0, 120)
+ class_mgr_popup_label.set_size(240, 50)
+ class_mgr_popup_label.set_text("现在是上课时间点,禁用手表功能")
+ class_mgr_popup_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ class_mgr_popup_label.set_long_mode(lv.label.LONG.WRAP)
+ class_mgr_popup_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ self.meta = class_mgr_popup_screen
+
+ 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)
+ data = RTC().datetime()
+ hour = data[4]
+ min = data[5]
+ class_mgr_popup_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
+ self.timer.start(1*1000,1,self.fun)
+
+ def lcd_on(self):
+ self.timer.start(1*1000,1,self.fun)
+
+ def lcd_off(self):
+ self.timer.stop()
+
+ def fun(self,*argc):
+ global class_mgr_popup_time1_text
+ data = RTC().datetime()
+ hour = data[4]
+ min = data[5]
+ class_mgr_popup_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
+
+ def btn1_release(self):
+ state = EventMesh.publish("get_cur_class_time_state")
+ print("state:{}".format(state))
+ if state != None:
+ if state == 0:
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+ return
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
+ else:
+ EventMesh.publish(constants.EVENT.SYSTEM_UP)
+
+ def btn8_press(self):
+ state = EventMesh.publish("get_cur_class_time_state")
+ print("state:{}".format(state))
+ if state != None:
+ if state == 0:
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+ return
+ flag = EventMesh.publish("get_lcd_state")
+ if flag == 1:
+ EventMesh.publish(constants.EVENT.SYSTEM_SLEEP)
+ else:
+ EventMesh.publish(constants.EVENT.SYSTEM_UP)
-#from ui_WatchFaceScreen import WatchFaceScreen
+#from usr.ui_WatchFaceScreen import WatchFaceScreen
class UI(object):
def __init__(self):
#self.screen = WatchFaceScreen()
self.system_sleep_timer = osTimer()
self.system_sleep_timer_count = 0
self.sleep_flag = 1
+ self.level = 6
self.aud = audio.Audio(0)
- self.aud.set_pa(Pin.GPIO29)
- self.level = 2
+
self.main_flag = 0
self.main_id = 0
self.set_interrup_flag = 0
self.UI_high_priority_flag = 0 #如果=1,则当前ui不被打断
self.level = EventMesh.publish("get_storage_config","brightness_level")
- print("self.level:{}".format(self.level))
-
+
+
if self.level == None:
- self.level = 2
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level*100, 1000)
+ self.level = 6
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS, self.level, 10)
self.PWM_backlight.open()
self.sleep_lock = 0
EventMesh.subscribe("done_click", self.ui_press)
EventMesh.subscribe("done_error", self.ui_press)
EventMesh.subscribe("done_press", self.ui_press)
- EventMesh.subscribe("done_DOWN", self.ui_press)
- EventMesh.subscribe("done_UP", self.ui_press)
EventMesh.subscribe("call_in", self.publish_call_in)
EventMesh.subscribe("get_lcd_state", self.get_lcd_state)
try:
data["func"](data["data"])
except Exception as e:
+ usys.print_exception(e)
print("ui_queue_thread:ERROR:{}".format(e))
# for scr in self.screen_list:
# if scr.handle_message_event(data) == 1 :
# break
def return_prev_screen(self, event, msg):
if self.screen_prev != None:
- # print("return_prev_screen",self.screen_prev)
EventMesh.publish("load_screen", {"screen": self.screen_prev.NAME})
def set_interrup_incall(self, event, msg):
self.screen.done_return()
if event == "done_click":
self.screen.done_click()
- if event == "done_DOWN":
- self.screen.done_DOWN()
- if event == "done_UP":
- self.screen.done_UP()
-
# if event == "done_press":
# self.system_sleep_timeout_rest()
def btn_press(self, event, key):
utime.sleep_ms(60)
self.level = EventMesh.publish("get_brightness_level")
if self.level == None:
- self.level = 6
+ self.level = 6
elif self.level > 10:
self.level = 10
elif self.level <= 0:
self.level = 1
- # print("__lcd_on self.level:",self.level)
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level*100, 1000)
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS, self.level, 10)
self.PWM_backlight.open()
self.sleep_lock = 0
+
def publish_call_in(self, event, msg):
EventMesh.publish("load_screen", {"screen": "dialing", "meta": msg})
utime.sleep_ms(200)
self.sleep_lock = 1
self.sleep_flag = 0
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 1000)
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS, 0, 1)
self.PWM_backlight.open()
#lcd_ctrl.write(0)
#
pass
def add_screen(self, screen):
- self.screen_list.append(screen)
+ try:
+ self.screen_list.append(screen)
+ except Exception as e:
+ usys.print_exception(e)
return self
def get_screen_NAME(self, event, msg):
def load_screen(self, msg):
print("msg1={} self.UI_high_priority_flag:{}".format(msg,self.UI_high_priority_flag))
+ if self.UI_high_priority_flag == 1:#电话界面屏蔽其他界面
+ return
state = EventMesh.publish("get_cur_class_time_state")
+ print("state:{}".format(state))
if state != None:
if state == 1:
screen_NAME = EventMesh.publish("get_screen_NAME")
if screen_NAME != None:
- if screen_NAME == "class_time" :#在上课禁用界面打断其他操作界面
- print("class_time UI")
- if msg["screen"] == "countdown_end":
- print("countdown_end UI")
- EventMesh.publish("close_count_show_info")
- return
- if self.UI_high_priority_flag == 1:#电话界面屏蔽其他界面
- return
+ if msg["screen"] == "charge_out" or msg["screen"] == "charge_in":
+ pass
+ else:
+ if screen_NAME == "class_time" :#在上课禁用界面打断其他操作界面
+ print("class_time UI")
+ if msg["screen"] == "countdown_end":
+ # print("countdown_end UI")
+ EventMesh.publish("close_count_show_info")
+ return
+ else:
+ if screen_NAME != "dialing_noplay_popup" or screen_NAME != "dial_no_connect_popup" or \
+ screen_NAME != "on_call" or screen_NAME != "dialing" or screen_NAME != "incoming_call" or \
+ screen_NAME != "charge_in" or screen_NAME != "charge_out":
+ EventMesh.publish("load_screen", {"screen": "class_time"})
if self.screen :
if self.screen.NAME == msg["screen"]:
return
import ql_fs
import EventMesh
from misc import Power
-from ui import style_screen,style_font_youyuan_20,style_btn,style_img,Screen,style_contact_btn,style_bar,style_bar_indic
+from ui import style_screen,style_font_youyuan_20_gray,style_font_youyuan_20,style_btn,style_img,Screen,style_contact_btn,style_bar,style_bar_indic
import constants
import osTimer
import audio
from machine import Pin
import ujson
-
+from lcd import style_font_youyuan_40
# -------------------------------------------setting screen----------------------------------------------------------
-set_icon_x = 25
-set_icon_y = 25
+
style_volume_btn = lv.style_t()
style_volume_btn.init()
-setting_cont_y = 5
+setting_cont_y = 0
setting_screen = lv.obj()
print("setting_screen")
setting_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-# setting_imei_img = lv.img(setting_screen)
-# setting_imei_img.set_pos(75, 10)
-# setting_imei_img.set_size(90, 30)
-# setting_imei_img.set_src("U:/static/setting/setting_text.png")
-# setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-# setting_title = lv.label(setting_screen)
-# setting_title.set_pos(0, 5)
-# setting_title.set_size(128, 20)
+setting_imei_img = lv.img(setting_screen)
+setting_imei_img.set_pos(75, 10)
+setting_imei_img.set_size(90, 30)
+setting_imei_img.set_src("E:/static/setting/setting_text.png")
+setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+# setting_title = lv.label(setting)
+# setting_title.set_pos(0, 10)
+# setting_title.set_size(240, 40)
# setting_title.set_text("设置")
# setting_title.set_long_mode(lv.label.LONG.WRAP)
# setting_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# setting_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
setting_cont_style = lv.style_t()
setting_cont_style.init()
setting_cont_style.set_radius(0)
setting_cont = lv.obj(setting_screen)
-setting_cont.set_pos(0, 0)
-setting_cont.set_size(128, 128)
+setting_cont.set_pos(0, 50)
+setting_cont.set_size(240, 270)
setting_cont.add_style(setting_cont_style,lv.PART.MAIN | lv.STATE.DEFAULT)
# setting_language = lv.btn(setting_cont)
# setting_language_img.set_pos(10, setting_cont_y)set_size(47, 47)
# setting_language_img.set_size(232, 80)
# setting_language_img.add_flag(lv.obj.FLAG.CLICKABLE)
-# setting_language_img.set_src("U:/static/menu_language.png")
+# setting_language_img.set_src("E:/static/menu_language.png")
# setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
#setting_cont_y += 60
-
-setting_dialswitch_label = lv.label(setting_cont)
+setting_dialswitch = lv.btn(setting_cont)
+setting_dialswitch.set_pos(0, setting_cont_y)
+setting_dialswitch.set_size(0, 0)
+setting_dialswitch_label = lv.label(setting_dialswitch)
setting_dialswitch_label.set_text("表盘切换")
-setting_dialswitch_label.set_pos(34, setting_cont_y+5)
-setting_dialswitch_label.set_size(128-34, 35)
-setting_dialswitch_label.add_flag(lv.obj.FLAG.CLICKABLE)
-# setting_dialswitch_label.set_text_align(lv.ALIGN.LEFT_MID, 30, setting_cont_y)
+setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_dialswitch_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_dialswitch_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_dialswitch_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_dialswitch.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_dialswitch_img = lv.img(setting_cont)
-setting_dialswitch_img.set_pos(4, setting_cont_y)
-setting_dialswitch_img.set_size(set_icon_x, set_icon_y)
+setting_dialswitch_img.set_pos(0, setting_cont_y)
+setting_dialswitch_img.set_size(232, 80)
setting_dialswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_dialswitch_img.set_src("U:/static/menu_watch_switch.png")
+setting_dialswitch_img.set_src("E:/static/setting/menu_watch_switch.png")
setting_dialswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
+setting_cont_y+=90
# setting_themeswitch = lv.btn(setting_cont)
# setting_themeswitch_img.set_pos(10, 120)
# setting_themeswitch_img.set_size(232, 80)
# setting_themeswitch_img.add_flag(lv.obj.FLAG.CLICKABLE)
-# setting_themeswitch_img.set_src("U:/static/menu_theme_switch.png")
+# setting_themeswitch_img.set_src("E:/static/menu_theme_switch.png")
# setting_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
#setting_cont_y+=60
-
-setting_imei_label = lv.label(setting_cont)
+setting_imei = lv.btn(setting_cont)
+setting_imei.set_pos(0, setting_cont_y)
+setting_imei.set_size(0, 0)
+setting_imei_label = lv.label(setting_imei)
setting_imei_label.set_text("设备IMEI号")
-setting_imei_label.set_pos(34, setting_cont_y+5)
-setting_imei_label.set_size(128-34, 35)
-setting_imei_label.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_imei_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_imei_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_imei.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_imei_img = lv.img(setting_cont)
-setting_imei_img.set_pos(4, setting_cont_y)
-setting_imei_img.set_size(set_icon_x, set_icon_y)
+setting_imei_img.set_pos(0, setting_cont_y)
+setting_imei_img.set_size(232, 80)
setting_imei_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_imei_img.set_src("U:/static/menu_imei_qrcode.png")
+setting_imei_img.set_src("E:/static/setting/menu_imei_qrcode.png")
setting_imei_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
-
-setting_app_label = lv.label(setting_cont)
-setting_app_label.set_text("手机APP")
-setting_app_label.set_pos(34, setting_cont_y+5)
-setting_app_label.set_size(128-34, 35)
-setting_app_label.add_flag(lv.obj.FLAG.CLICKABLE)
+setting_cont_y+=90
+
+setting_app = lv.btn(setting_cont)
+setting_app.set_pos(0, setting_cont_y)
+setting_app.set_size(0, 0)
+setting_app_label = lv.label(setting_app)
+setting_app_label.set_text("手机安装APP")
+setting_app.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_app_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_app_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_app.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_app_img = lv.img(setting_cont)
-setting_app_img.set_pos(4, setting_cont_y)
-setting_app_img.set_size(set_icon_x, set_icon_y)
+setting_app_img.set_pos(0, setting_cont_y)
+setting_app_img.set_size(232, 80)
setting_app_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_app_img.set_src("U:/static/menu_app_qrcode.png")
+setting_app_img.set_src("E:/static/setting/menu_app_qrcode.png")
setting_app_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
+setting_cont_y+=90
-
-setting_bright_label = lv.label(setting_cont)
+setting_bright = lv.btn(setting_cont)
+setting_bright.set_pos(0, setting_cont_y)
+setting_bright.set_size(0, 0)
+setting_bright_label = lv.label(setting_bright)
setting_bright_label.set_text("屏幕调节")
-setting_bright_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_bright_label.set_size(128-34, 35)
-setting_bright_label.set_pos(34, setting_cont_y+5)
+setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_bright_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_bright_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_bright_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_bright.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_bright_img = lv.img(setting_cont)
-setting_bright_img.set_pos(4, setting_cont_y)
-setting_bright_img.set_size(set_icon_x, set_icon_y)
+setting_bright_img.set_pos(0, setting_cont_y)
+setting_bright_img.set_size(232, 80)
setting_bright_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_bright_img.set_src("U:/static/menu_bright.png")
+setting_bright_img.set_src("E:/static/setting/menu_bright.png")
setting_bright_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
+setting_cont_y+=90
-setting_volume_label = lv.label(setting_cont)
+setting_volume = lv.btn(setting_cont)
+setting_volume.set_pos(0, setting_cont_y)
+setting_volume.set_size(0, 0)
+setting_volume_label = lv.label(setting_volume)
setting_volume_label.set_text("铃声")
-setting_volume_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_volume_label.set_size(128-34, 35)
-setting_volume_label.set_pos(34, setting_cont_y+5)
+setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_volume_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_volume_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_volume_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_volume.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_volume_img = lv.img(setting_cont)
-setting_volume_img.set_pos(4, setting_cont_y)
-setting_volume_img.set_size(set_icon_x, set_icon_y)
+setting_volume_img.set_pos(0, setting_cont_y)
+setting_volume_img.set_size(232, 80)
setting_volume_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_volume_img.set_src("U:/static/menu_volume.png")
+setting_volume_img.set_src("E:/static/setting/menu_volume.png")
setting_volume_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
-
-setting_restore_label = lv.label(setting_cont)
-setting_restore_label.set_text("恢复出厂")
-setting_restore_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_restore_label.set_size(128-34, 35)
-setting_restore_label.set_pos(34, setting_cont_y+5)
+setting_cont_y+=90
+
+setting_restore = lv.btn(setting_cont)
+setting_restore.set_pos(0, setting_cont_y)
+setting_restore.set_size(0, 0)
+setting_restore_label = lv.label(setting_restore)
+setting_restore_label.set_text("恢复出厂设置")
+setting_restore.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_restore_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_restore_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_restore_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_restore.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_restore_img = lv.img(setting_cont)
-setting_restore_img.set_pos(4, setting_cont_y)
-setting_restore_img.set_size(set_icon_x, set_icon_y)
+setting_restore_img.set_pos(0, setting_cont_y)
+setting_restore_img.set_size(232, 80)
setting_restore_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_restore_img.set_src("U:/static/menu_restore.png")
+setting_restore_img.set_src("E:/static/setting/menu_restore.png")
setting_restore_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
+setting_cont_y+=90
-setting_poweroff_label = lv.label(setting_cont)
+setting_poweroff = lv.btn(setting_cont)
+setting_poweroff.set_pos(0, setting_cont_y)
+setting_poweroff.set_size(0, 0)
+setting_poweroff_label = lv.label(setting_poweroff)
setting_poweroff_label.set_text("关机")
-setting_poweroff_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_poweroff_label.set_size(128-34, 35)
-setting_poweroff_label.set_pos(34, setting_cont_y+5)
+setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_poweroff_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_poweroff_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_poweroff.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_poweroff_img = lv.img(setting_cont)
-setting_poweroff_img.set_pos(4, setting_cont_y)
-setting_poweroff_img.set_size(set_icon_x, set_icon_y)
+setting_poweroff_img.set_pos(0, setting_cont_y)
+setting_poweroff_img.set_size(232, 80)
setting_poweroff_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_poweroff_img.set_src("U:/static/menu_poweroff.png")
+setting_poweroff_img.set_src("E:/static/setting/menu_poweroff.png")
setting_poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
+setting_cont_y+=90
-setting_version_label = lv.label(setting_cont)
+setting_version = lv.btn(setting_cont)
+setting_version.set_pos(0, setting_cont_y)
+setting_version.set_size(0, 0)
+setting_version_label = lv.label(setting_version)
setting_version_label.set_text("关于设备")
-setting_version_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_version_label.set_size(128-34, 35)
-setting_version_label.set_pos(34, setting_cont_y+5)
+setting_version.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_version_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_version_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_version_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_version.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_version_img = lv.img(setting_cont)
-setting_version_img.set_pos(4, setting_cont_y)
-setting_version_img.set_size(set_icon_x, set_icon_y)
+setting_version_img.set_pos(0, setting_cont_y)
+setting_version_img.set_size(232, 80)
setting_version_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_version_img.set_src("U:/static/menu_version.png")
+setting_version_img.set_src("E:/static/setting/menu_version.png")
setting_version_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-setting_cont_y+=35
-
+setting_cont_y+=90
-setting_update_label = lv.label(setting_cont)
+setting_update = lv.btn(setting_cont)
+setting_update.set_pos(0, setting_cont_y)
+setting_update.set_size(0, 0)
+setting_update_label = lv.label(setting_update)
setting_update_label.set_text("系统升级")
-setting_update_label.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_update_label.set_size(128-34, 35)
-setting_update_label.set_pos(34, setting_cont_y+5)
+setting_update.set_style_pad_all(0, lv.STATE.DEFAULT)
+setting_update_label.align(lv.ALIGN.LEFT_MID, 70, 0)
setting_update_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
setting_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-setting_update_label_btn = lv.label(setting_cont)
-setting_update_label_btn.set_text(" ")
-setting_update_label_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_update_label_btn.set_size(128, 45)
-setting_update_label_btn.set_pos(0, setting_cont_y)
-setting_update_label_btn.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
-setting_update_label_btn.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
+setting_update.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_update_img = lv.img(setting_cont)
-setting_update_img.set_pos(4, setting_cont_y)
-setting_update_img.set_size(set_icon_x, set_icon_y)
+setting_update_img.set_pos(0, setting_cont_y)
+setting_update_img.set_size(232, 80)
setting_update_img.add_flag(lv.obj.FLAG.CLICKABLE)
-setting_update_img.set_src("U:/static/menu_upgrade.png")
+setting_update_img.set_src("E:/static/setting/menu_upgrade.png")
setting_update_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
class SettingScreen(Screen):
super().__init__()
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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "imei"})), lv.EVENT.CLICKED, None)
+ setting_app.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "app"})), lv.EVENT.CLICKED, None)
+ setting_bright.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "brightness"})), lv.EVENT.CLICKED, None)
+ setting_volume.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "totalvolume"})), lv.EVENT.CLICKED, None)
+ setting_restore.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "restore"})), lv.EVENT.CLICKED, None)
+ setting_poweroff.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "poweroff"})), lv.EVENT.CLICKED, None)
+ setting_update.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), lv.EVENT.CLICKED, None)
+ setting_version.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "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)
dialswitch_title = lv.label(dialswitch_screen)
-dialswitch_title.set_pos(0, 5)
-dialswitch_title.set_size(120, 20)
+dialswitch_title.set_pos(0, 10)
+dialswitch_title.set_size(240, 40)
dialswitch_title.set_text("表盘切换")
dialswitch_title.set_long_mode(lv.label.LONG.WRAP)
dialswitch_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
dialswitch_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
dialswitch_img1 = lv.img(dialswitch_screen)#表盘预览图
-dialswitch_img1.set_pos(27, 30)
-dialswitch_img1.set_size(70, 70)
+dialswitch_img1.set_pos(50, 60)
+dialswitch_img1.set_size(140, 172)
dialswitch_img1.set_src("U:/static/DIAL_PREV01.png")
dialswitch_img1.add_flag(lv.obj.FLAG.CLICKABLE)
dialswitch_img1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
dialswitch_btn1_label = lv.label(dialswitch_screen)#显示表盘1 表盘2
dialswitch_btn1_label.set_text(" ")
-dialswitch_btn1_label.align(lv.ALIGN.TOP_MID, 0, 104)
+dialswitch_btn1_label.align(lv.ALIGN.TOP_MID, 0, 260)
dialswitch_btn1_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-# dialswitch_butoom_crcile1 = lv.img(dialswitch_screen)#底部显示圆点
-# dialswitch_butoom_crcile1.set_pos(95, 300)
-# dialswitch_butoom_crcile1.set_size(10, 10)
-# dialswitch_butoom_crcile1.set_src("U:/static/point_white.png")
-# dialswitch_butoom_crcile1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+dialswitch_butoom_crcile1 = lv.img(dialswitch_screen)#底部显示圆点
+dialswitch_butoom_crcile1.set_pos(95, 300)
+dialswitch_butoom_crcile1.set_size(10, 10)
+dialswitch_butoom_crcile1.set_src("E:/static/point_white.png")
+dialswitch_butoom_crcile1.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-# dialswitch_butoom_crcile2 = lv.img(dialswitch_screen)#底部显示圆点
-# dialswitch_butoom_crcile2.set_pos(140, 300)
-# dialswitch_butoom_crcile2.set_size(10, 10)
-# dialswitch_butoom_crcile2.set_src("U:/static/point_black.png")
-# dialswitch_butoom_crcile2.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+dialswitch_butoom_crcile2 = lv.img(dialswitch_screen)#底部显示圆点
+dialswitch_butoom_crcile2.set_pos(140, 300)
+dialswitch_butoom_crcile2.set_size(10, 10)
+dialswitch_butoom_crcile2.set_src("E:/static/point_black.png")
+dialswitch_butoom_crcile2.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
# dialswitch_btn2 = lv.btn(dialswitch_screen)
# dialswitch_btn2.set_size(240,54)
# -------------------------------------------app screen----------------------------------------------------------
-style_font_youyuan_20_default = lv.style_t()
-style_font_youyuan_20_default.init()
-style_font_youyuan_20_default.set_text_color(lv.color_make(0xff, 0xff, 0xff))
-# style_font_youyuan_20_black.set_text_font(lv.K01_font_16_ALL)
-
#app_screen = lv.obj()
app_screen = lv.obj()
print("app_screen")
app_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
app_img = lv.img(app_screen)
-app_img.set_pos(int(24),int(5))
-app_img.set_size(80,80)
+app_img.set_pos(int(20),int(40))
+app_img.set_size(200,200)
app_img.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
app_img.add_flag(lv.obj.FLAG.CLICKABLE)
-app_img.set_src("U:/static/IMAGE_APP_QR_CODE.png")
+app_img.set_src("E:/static/IMAGE_APP_QR_CODE.png")
app_img.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
# app_qr = lv.qrcode(imei, 150, fg_color, bg_color)
# app_qr.center()
# Add a border with bg_color
-
# app_qr.set_style_border_color(bg_color, 0)
# app_qr.set_style_border_width(5, 0)
# app_qr_data = str("https://fangzoudiu.xcloudtech.com/xiao_jian")
# app_qr.update(app_qr_data,len(app_qr_data))
app_label = lv.label(app_screen)
-app_label.set_pos(0, 90)
-app_label.set_size(128, 38)
+app_label.set_pos(0, 280)
+app_label.set_size(240, 20)
app_label.set_text(" ")
app_label.set_long_mode(lv.label.LONG.WRAP)
app_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-app_label.add_style(style_font_youyuan_20_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+app_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
# -------------------------------------------volume screen----------------------------------------------------------
phonering_reduce_imgbtn.set_pos(0, 150)
phonering_reduce_imgbtn.set_size(110, 46)
phonering_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-phonering_reduce_imgbtn.set_src("U:/static/reduce_btn.png")
+phonering_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
phonering_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
phonering_add_imgbtn = lv.img(phonering_screen)
phonering_add_imgbtn.set_pos(120, 150)
-phonering_add_imgbtn.set_size(55, 23)
+phonering_add_imgbtn.set_size(110, 46)
phonering_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-phonering_add_imgbtn.set_src("U:/static/add_btn.png")
+phonering_add_imgbtn.set_src("E:/static/add_btn.png")
phonering_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
alarmvolume_reduce_imgbtn.set_size(110, 46)
alarmvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-alarmvolume_reduce_imgbtn.set_src("U:/static/reduce_btn.png")
+alarmvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
alarmvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
alarmvolume_add_imgbtn = lv.img(alarmvolume_screen)
alarmvolume_add_imgbtn.set_pos(125, 150)
-alarmvolume_add_imgbtn.set_size(55, 23)
+alarmvolume_add_imgbtn.set_size(110, 46)
alarmvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-alarmvolume_add_imgbtn.set_src("U:/static/add_btn.png")
+alarmvolume_add_imgbtn.set_src("E:/static/add_btn.png")
alarmvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
msgvolume_reduce_imgbtn.set_size(110, 46)
msgvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-msgvolume_reduce_imgbtn.set_src("U:/static/reduce_btn.png")
+msgvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
msgvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
msgvolume_add_imgbtn = lv.img(msgvolume_screen)
msgvolume_add_imgbtn.set_pos(125, 150)
-msgvolume_add_imgbtn.set_size(55, 23)
+msgvolume_add_imgbtn.set_size(110, 46)
msgvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-msgvolume_add_imgbtn.set_src("U:/static/add_btn.png")
+msgvolume_add_imgbtn.set_src("E:/static/add_btn.png")
msgvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
restore_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
restore_label = lv.label(restore_screen)
-restore_label.set_pos(0, 20)
-restore_label.set_size(128, 20)
+restore_label.set_pos(0, 100)
+restore_label.set_size(240, 40)
restore_label.set_text("恢复出厂设置?")
restore_label.set_long_mode(lv.label.LONG.WRAP)
restore_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
restore_confirm_label = lv.label(restore_screen)
restore_confirm_label.set_text("确认")
restore_confirm_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-restore_confirm_label.set_size(64, 20)
-restore_confirm_label.set_pos(0,60)
+restore_confirm_label.set_size(120, 60)
+restore_confirm_label.set_pos(0,180)
restore_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
restore_confirm = lv.label(restore_screen)
restore_confirm.set_text(" ")
-restore_confirm.set_size(64, 40)
-restore_confirm.set_pos(0,60)
+restore_confirm.set_size(120, 80)
+restore_confirm.set_pos(0,160)
restore_confirm.add_flag(lv.obj.FLAG.CLICKABLE)
restore_cancel_label = lv.label(restore_screen)
restore_cancel_label.set_text("返回")
-restore_cancel_label.set_size(64, 20)
+restore_cancel_label.set_size(120, 60)
restore_cancel_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-restore_cancel_label.set_pos(64,60)
+restore_cancel_label.set_pos(120,180)
restore_cancel_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
restore_cancel = lv.label(restore_screen)
restore_cancel.set_text(" ")
-restore_cancel.set_size(64, 40)
-restore_cancel.set_pos(64,60)
+restore_cancel.set_size(120, 80)
+restore_cancel.set_pos(120,160)
restore_cancel.add_flag(lv.obj.FLAG.CLICKABLE)
version_screen = lv.obj()
print("version_screen")
version_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-version_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+
version_msg = "Software Version:\n\
MMI\n\
Version:UIX8910_C55_V\n\
import versions
version_label1 = lv.label(version_screen)
-version_label1.set_pos(0, 5)
-version_label1.set_size(128, 40)
+version_label1.set_pos(10, 30)
+version_label1.set_size(230, 30)
version_label1.set_long_mode(lv.label.LONG.WRAP)
-version_label1.set_text("Software Version:")
-version_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label1.set_text("产品名称:")
+version_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
version_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-version_label2 = lv.label(version_screen)
-version_label2.set_pos(0, 45)
-version_label2.set_size(128, 20)
-version_label2.set_long_mode(lv.label.LONG.WRAP)
-version_label2.set_text("Python Lvgl")
-version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# version_label2 = lv.label(version_screen)
+# version_label2.set_pos(0, 60)
+# version_label2.set_size(240, 30)
+# version_label2.set_long_mode(lv.label.LONG.WRAP)
+# version_label2.set_text("Python Lvgl")
+# version_label2.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# version_label2.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-version_label3 = lv.label(version_screen)
-version_label3.set_pos(0, 65)
-version_label3.set_size(128, 20)
-version_label3.set_long_mode(lv.label.LONG.WRAP)
-version_label3.set_text("Version:")
-version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# version_label3 = lv.label(version_screen)
+# version_label3.set_pos(0, 90)
+# version_label3.set_size(240, 30)
+# version_label3.set_long_mode(lv.label.LONG.WRAP)
+# version_label3.set_text("Version:")
+# version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
version_label3 = lv.label(version_screen)
-version_label3.set_pos(0, 90)
-version_label3.set_size(128, 20)
+version_label3.set_pos(10, 70)
+version_label3.set_size(230, 30)
version_label3.set_long_mode(lv.label.LONG.WRAP)
version_label3.set_text(versions.Version)
-version_label3.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label3.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+version_label3.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+version_label3.add_style(style_font_youyuan_20_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
# version_label4 = lv.label(version_screen)
# version_label4.set_pos(0, version_label_y)
# version_label4.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
version_label5 = lv.label(version_screen)
-version_label5.set_pos(0, 115)
-version_label5.set_size(128, 20)
+version_label5.set_pos(10, 120)
+version_label5.set_size(230, 30)
version_label5.set_long_mode(lv.label.LONG.WRAP)
-version_label5.set_text("Build Time:")
-version_label5.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+version_label5.set_text("软件版本:")
+version_label5.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
version_label5.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
version_label6 = lv.label(version_screen)
-version_label6.set_pos(0, 140)
-version_label6.set_size(128, 40)
+version_label6.set_pos(10, 160)
+version_label6.set_size(230, 60)
version_label6.set_long_mode(lv.label.LONG.WRAP)
version_label6.set_text(versions.Build_Time)
-version_label6.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label6.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+version_label6.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+version_label6.add_style(style_font_youyuan_20_gray, lv.PART.MAIN | lv.STATE.DEFAULT)
# version_label7 = lv.label(version_screen)
# version_label7.set_pos(0, 210)
# version_label7.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
# version_label7.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-version_label8 = lv.label(version_screen)
-version_label8.set_pos(0, 180)
-version_label8.set_size(128, 20)
-version_label8.set_long_mode(lv.label.LONG.WRAP)
-version_label8.set_text("IMEI:")
-version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# version_label8 = lv.label(version_screen)
+# version_label8.set_pos(0, 210)
+# version_label8.set_size(240, 30)
+# version_label8.set_long_mode(lv.label.LONG.WRAP)
+# version_label8.set_text("IMEI:")
+# version_label8.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+# version_label8.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-version_label9 = lv.label(version_screen)
-version_label9.set_pos(0, 200)
-version_label9.set_size(128, 38)
-version_label9.set_text(" ")
-version_label9.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+# version_label9 = lv.label(version_screen)
+# version_label9.set_pos(0, 240)
+# version_label9.set_size(240, 30)
+# version_label9.set_long_mode(lv.label.LONG.WRAP)
+# version_label9.set_text(" ")
+# version_label9.set_style_text_align(lv.TEXT_ALIGN.LEF, 0)
+# version_label9.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
update_title = lv.label(update_screen)
update_title.set_pos(0, 10)
-update_title.set_size(128, 20)
+update_title.set_size(240, 40)
update_title.set_text("系统更新")
update_title.set_long_mode(lv.label.LONG.WRAP)
update_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
update_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
update_label = lv.label(update_screen)
-update_label.set_text("已经是最新版本")
+update_label.set_text(" 已经是最新版本")
update_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-update_label.set_size(128, 20)
-update_label.set_pos(0,40)
+update_label.set_size(240, 50)
+update_label.set_pos(0,50)
update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
update_return = lv.label(update_screen)
update_return.set_text("返回")
-update_return.set_size(128, 40)
+update_return.set_size(240, 40)
update_return.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-update_return.set_pos(0,70)
+update_return.set_pos(0,240)
update_return.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
update_return.add_flag(lv.obj.FLAG.CLICKABLE)
def confirm(self, e):
EventMesh.publish("load_screen", {"screen": "restore_confirm"})
+
def concel(self, e):
EventMesh.publish("load_screen", {"screen": "setting"})
self.btn_count = 0
def initialization(self):
imei = EventMesh.publish(constants.EVENT.GET_IMEI)
- print("imei",imei)
- version_label9.set_text("{}".format(imei))
+ # version_label9.set_text(imei)
def Close(self):
self.btn_count = 0
poweroff_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
poweroff_img = lv.img(poweroff_screen)
-poweroff_img.set_pos(49, 5)
-poweroff_img.set_size(30, 30)
+poweroff_img.set_pos(100, 30)
+poweroff_img.set_size(61, 61)
poweroff_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-poweroff_img.set_src("U:/static/poweroff_icon.png")
+poweroff_img.set_src("E:/static/poweroff_icon.png")
poweroff_label = lv.label(poweroff_screen)
poweroff_label.set_text("是否关机?")
poweroff_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-poweroff_label.set_size(128, 20)
-poweroff_label.set_pos(0,40)
+poweroff_label.set_size(240, 20)
+poweroff_label.set_pos(0,120)
poweroff_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
poweroff_confirm_img = lv.img(poweroff_screen)
-poweroff_confirm_img.set_size(88, 23)
-poweroff_confirm_img.set_pos(24, 65)
-poweroff_confirm_img.set_src("U:/static/off_icon.png")
+poweroff_confirm_img.set_size(176, 46)
+poweroff_confirm_img.set_pos(32, 160)
+poweroff_confirm_img.set_src("E:/static/off_icon.png")
+poweroff_confirm_img.add_flag(lv.obj.FLAG.CLICKABLE)
poweroff_confirm_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-poweroff_confirm_imgbtn = lv.img(poweroff_screen)
-poweroff_confirm_imgbtn.set_size(128, 35)
-poweroff_confirm_imgbtn.set_pos(0, 60)
-poweroff_confirm_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-poweroff_confirm_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-
poweroff_confirm_label = lv.label(poweroff_confirm_img)
poweroff_confirm_label.set_text("关机")
-poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 5)
poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
poweroff_return = lv.img(poweroff_screen)
-poweroff_return.set_size(88, 23)
-poweroff_return.set_pos(24, 100)
-poweroff_return.set_src("U:/static/cancel_icon.png")
+poweroff_return.set_size(176, 46)
+poweroff_return.set_pos(32, 240)
+poweroff_return.set_src("E:/static/cancel_icon.png")
+poweroff_return.add_flag(lv.obj.FLAG.CLICKABLE)
poweroff_return.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-poweroff_return_btn = lv.img(poweroff_screen)
-poweroff_return_btn.set_size(128, 33)
-poweroff_return_btn.set_pos(0, 95)
-poweroff_return_btn.add_flag(lv.obj.FLAG.CLICKABLE)
-poweroff_return_btn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
-
poweroff_return_label = lv.label(poweroff_return)
poweroff_return_label.set_text("返回")
-poweroff_return_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_return_label.align(lv.ALIGN.CENTER, 0, 5)
poweroff_return_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
poweroff_return.set_ext_click_area(20)
+
+
+
+
class PoweroffScreen(Screen):
NAME = "poweroff"
def __init__(self):
super().__init__()
self.meta = poweroff_screen
- poweroff_confirm_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
- poweroff_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
+ poweroff_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
+ poweroff_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
def initialization(self):
pass
EventMesh.publish("load_screen", {"screen": "setting"})
def confirm(self, e):
- EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
+ EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
+ #EventMesh.publish("load_screen", {"screen": "no_sim_power_screen"})
+
def concel(self, e):
EventMesh.publish("load_screen", {"screen": "setting"})
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
-
-
-poweroff_confirm_screen = lv.obj()
-print("poweroff_confirm_screen")
-poweroff_confirm_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-poweroff_confirm_label = lv.label(poweroff_confirm_screen)
-poweroff_confirm_label.set_text("Goodbye")
-poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
-poweroff_confirm_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
-
-import utime
-class PoweroffConfirmScreen(Screen):
- NAME = "poweroff_comfirm"
-
- def __init__(self):
- super().__init__()
- self.meta = poweroff_confirm_screen
- self.timer = osTimer()
- self.aud = audio.Audio(0)
-
-
- def initialization(self):
- step = EventMesh.publish("get_old_step_value")
- if step != 0:
- EventMesh.publish("set_storage_config",["old_step",step])
-
- date_tmp = utime.localtime()
- time_tmp = utime.mktime(date_tmp)
- EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
- self.count = 0
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #文件名前面要加上路径
- self.timer.start(1*1000,1,self.power_off)
-
- def power_off(self,*args):
- self.count+=1
- EventMesh.publish("system_sleep_rest")#防止黑屏
- # print("power off!!!!!!!",self.count)
- if self.count > 5:#在上一个界面在播放音频时切换界面则关闭 以免一直播放
- self.count = 0
- self.timer.stop()
- Power.powerDown()
-
- def done_return(self):
- pass
-
- def btn1_release(self):
- pass
-
- def btn8_press(self):
- pass
-
poweron_screen = lv.obj()
print("poweron_screen")
poweron_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
poweron_label = lv.label(poweron_screen)
poweron_label.set_text("WELCOME")
poweron_label.align(lv.ALIGN.CENTER, 0, 0)
-poweron_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+poweron_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
class PowerOnScreen(Screen):
NAME = "poweron"
def __init__(self):
super().__init__()
self.meta = poweron_screen
- self.timer1 = osTimer()
- self.timer2 = osTimer()
+ self.timer = osTimer()
self.aud = audio.Audio(0)
self.aud.set_pa(Pin.GPIO29)
self.volum_size = 8
check_volum = EventMesh.publish("get_storage_config","volum")
-
if check_volum != None:
- self.volum_size = check_volum
+ self.volum_size = check_volum
self.aud.setVolume(self.volum_size)
def initialization(self):
self.count = 0
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放开机铃声
- self.timer1.start(1000,1,self.fun)
- self.timer2.start(4000,0,self.open_fun)
-
+ self.aud.setVolume(11)
+ self.timer.start(1000,1,self.fun)
pass
def fun(self,*argc):
EventMesh.publish("system_sleep_rest")#防止黑屏
-
- def open_fun(self,*argc):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
-
+ if self.count == 0:
+ self.aud.play(1, 1, 'E:/static/R_POWER_1.mp3') #播放来电铃声
+ else:
+ play_state = EventMesh.publish("get_audio_state")#音频播放状态
+ if play_state != None:
+ if self.count >= 9:#在上一个界面在播放音频时切换界面则关闭 以免一直播放
+ self.count = 0
+ self.timer.stop()
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+ return
+ self.count+=1
def Close(self):
- self.timer1.stop()
- self.timer2.stop()
+ self.timer.stop()
self.aud.setVolume(self.volum_size)
pass
def done_return(self):
def btn8_press(self):
pass
+poweroff_confirm_screen = lv.obj()
+print("poweroff_confirm_screen")
+poweroff_confirm_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+poweroff_confirm_label = lv.label(poweroff_confirm_screen)
+poweroff_confirm_label.set_text("Goodbye")
+poweroff_confirm_label.align(lv.ALIGN.CENTER, 0, 0)
+poweroff_confirm_label.add_style(style_font_youyuan_40, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+import utime
+class PoweroffConfirmScreen(Screen):
+ NAME = "poweroff_comfirm"
+
+ def __init__(self):
+ super().__init__()
+ self.meta = poweroff_confirm_screen
+ self.timer = osTimer()
+ self.count = 0
+
+ def initialization(self):
+ step = EventMesh.publish("get_old_step_value")
+ if step != 0:
+ EventMesh.publish("set_storage_config",["old_step",step])
+
+ date_tmp = utime.localtime()
+ time_tmp = utime.mktime(date_tmp)
+ EventMesh.publish("set_storage_config",["old_time",time_tmp])#关机保存一个是时间
+
+ #print("self.read_data:{}".format(self.read_data))
+ EventMesh.publish("play_poewr_off_event")#
+ self.count = 0
+ self.timer.start(1*1000,1,self.power_off)
+
+ def power_off(self,*args):
+ self.count+=1
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ play_state = EventMesh.publish("get_audio_state")#音频播放状态
+ if play_state != None:
+ # print("power off!!!!!!!",self.count)
+ if self.count > 5:#在上一个界面在播放音频时切换界面则关闭 以免一直播放
+ self.count = 0
+ self.timer.stop()
+ Power.powerDown()
+
+ def done_return(self):
+ pass
+
+ def btn1_release(self):
+ pass
+
+ def btn8_press(self):
+ pass
from common import Abstract
class TimePoweroffScreen(Abstract):
def __init__(self):
super().__init__()
self.power_off_flag = 0
- self.read_data = {}
+
EventMesh.subscribe("get_time_power_off", self.get_time_power_off)
EventMesh.subscribe("power_off_callback", self.power_off_callback)
EventMesh.subscribe("set_time_power_off", self.set_time_power_off)
self.power_off_flag = 0
def set_time_power_off(self,event,msg):
- self.read_data = EventMesh.publish("get_storage_data")
- if self.read_data != {}:
- b = str("off_on") in self.read_data().keys()
- if b == True:
- pass
+
+ pass
def __init__(self):
super().__init__()
self.meta = dialswitch_screen
- self.read_data = {}
self.watchface_style_num = "Watchface1"
dialswitch_img1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.watchface01(e)),
lv.EVENT.CLICKED, None)
def initialization(self):
self.dial_num = 1
self.move = 0
- self.read_data = EventMesh.publish("get_storage_data")
- if self.read_data != {}:
- b = str("watchface") in self.read_data.keys()
- if b == True:
- self.watchface_style_num = self.read_data["watchface"]
+ read_data = EventMesh.publish("get_storage_config","watchface")
+
+ if read_data != None:
+ self.watchface_style_num = read_data
if self.watchface_style_num == "Watchface1":
self.dial_num = 1
else:
def watchface01(self,e):
code = e.get_code()
- # if code == lv.EVENT.CLICKED:
- # self.timer.start(50,0,self.enter_main_show)
- self.enter_main_show(0)
+ if code == lv.EVENT.CLICKED:
+ self.timer.start(50,0,self.enter_main_show)
def enter_main_show(self,e):
- self.dial_num = 1
+ EventMesh.publish("set_storage_config",["watchface","Watchface{}".format(self.dial_num)])
EventMesh.publish("set_change_face", "Watchface{}".format(self.dial_num))
EventMesh.publish("watch_top_show")
EventMesh.publish("load_screen", {"screen": "main_menu"})
EventMesh.publish("load_screen", {"screen": "setting"})
def done_left_to_right(self):#右滑
- pass
#print("done_left_to_right!!!!!!!!!")
- # self.move = 1
- # if self.dial_num > 1:
- # self.dial_num-=1
- # else:
- # self.dial_num = 2
- # self.timer.stop()
- # self.show_info()
+ self.move = 1
+ if self.dial_num > 1:
+ self.dial_num-=1
+ else:
+ self.dial_num = 2
+ self.timer.stop()
+ self.show_info()
def done_right_to_left(self):#左滑
- pass
#print("done_right_to_left!!!!!!!!!")
- # self.move = 2
- # self.dial_num+=1
- # if self.dial_num > 2:
- # self.dial_num = 1
- # self.show_info()
- # self.timer.stop()
+ self.move = 2
+ self.dial_num+=1
+ if self.dial_num > 2:
+ self.dial_num = 1
+ self.show_info()
+ self.timer.stop()
def done_bottom_to_top(self):
- pass
- # self.move = 3
- # self.timer.stop()
+ self.move = 3
+ self.timer.stop()
def done_top_to_bottom(self):
- pass
- # self.move = 4
- # self.timer.stop()
+ self.move = 4
+ self.timer.stop()
def show_info(self):
- dialswitch_img1.set_src("U:/static/DIAL_PREV01.png")
- dialswitch_btn1_label.set_text("表盘1")
- # dialswitch_img1.set_src("U:/static/DIAL_PREV01.png".format(self.dial_num))
- # dialswitch_btn1_label.set_text("表盘{}".format(self.dial_num))
- # if(self.dial_num == 1):
- # pass
- # # dialswitch_butoom_crcile1.set_src("U:/static/point_white.png")
- # # dialswitch_butoom_crcile2.set_src("U:/static/point_black.png")
- # else:
- # pass
- # dialswitch_butoom_crcile1.set_src("U:/static/point_black.png")
- # dialswitch_butoom_crcile2.set_src("U:/static/point_white.png")
+ dialswitch_img1.set_src("U:/static/DIAL_PREV0{}.png".format(self.dial_num))
+ dialswitch_btn1_label.set_text("表盘{}".format(self.dial_num))
+ if(self.dial_num == 1):
+ dialswitch_butoom_crcile1.set_src("E:/static/point_white.png")
+ dialswitch_butoom_crcile2.set_src("E:/static/point_black.png")
+ else:
+ dialswitch_butoom_crcile1.set_src("E:/static/point_black.png")
+ dialswitch_butoom_crcile2.set_src("E:/static/point_white.png")
def Close(self):
self.timer.stop()
bg_color = lv.palette_lighten(lv.PALETTE.LIGHT_BLUE, 5)
fg_color = lv.palette_darken(lv.PALETTE.BLUE, 4)
-imei_qr = lv.qrcode(imei_screen, 80, fg_color, bg_color)
-imei_qr.set_pos(24, 4)
+imei_qr = lv.qrcode(imei_screen, 150, fg_color, bg_color)
+imei_qr.center()
# Add a border with bg_color
imei_qr.set_style_border_color(bg_color, 0)
-imei_qr.set_style_border_width(2, 0)
+imei_qr.set_style_border_width(5, 0)
imei_label = lv.label(imei_screen)
-imei_label.set_pos(0, 90)
-imei_label.set_size(128, 38)
+imei_label.set_pos(0, 280)
+imei_label.set_size(240, 20)
imei_label.set_text(" ")
imei_label.set_long_mode(lv.label.LONG.WRAP)
imei_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
-imei_label.add_style(style_font_youyuan_20_default, lv.PART.MAIN | lv.STATE.DEFAULT)
+imei_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
class ImeiScreen(Screen):
NAME = "imei"
brightness_title = lv.label(brightness_screen)
-brightness_title.set_pos(0, 5)
-brightness_title.set_size(120, 20)
+brightness_title.set_pos(0, 10)
+brightness_title.set_size(240, 40)
brightness_title.set_text("屏幕调节")
brightness_title.set_long_mode(lv.label.LONG.WRAP)
brightness_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
brightness_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_label1 = lv.label(brightness_screen)
-brightness_label1.set_pos(5, 30)
-brightness_label1.set_size(128-5, 20)
+brightness_label1.set_pos(10, 70)
+brightness_label1.set_size(230, 40)
brightness_label1.set_text("亮度:")
brightness_label1.set_long_mode(lv.label.LONG.WRAP)
brightness_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
brightness_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_bar = lv.bar(brightness_screen)
-brightness_bar.set_pos(10, 55)
-brightness_bar.set_size(108, 12)
+brightness_bar.set_pos(20, 100)
+brightness_bar.set_size(200, 25)
brightness_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
brightness_bar.set_mode(lv.bar.MODE.NORMAL)
brightness_bar.set_value(50, lv.ANIM.OFF)
brightness_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
brightness_reduce_imgbtn = lv.img(brightness_screen)
-brightness_reduce_imgbtn.set_pos(6, 70)
-brightness_reduce_imgbtn.set_size(55, 23)
+brightness_reduce_imgbtn.set_pos(5, 195)
+brightness_reduce_imgbtn.set_size(110, 46)
brightness_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-brightness_reduce_imgbtn.set_src("U:/static/reduce_btn.png")
+brightness_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
brightness_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_add_imgbtn = lv.img(brightness_screen)
-brightness_add_imgbtn.set_pos(67, 70)
-brightness_add_imgbtn.set_size(55, 23)
+brightness_add_imgbtn.set_pos(125, 195)
+brightness_add_imgbtn.set_size(110, 46)
brightness_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-brightness_add_imgbtn.set_src("U:/static/add_btn.png")
+brightness_add_imgbtn.set_src("E:/static/add_btn.png")
brightness_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_label_time = lv.label(brightness_screen)
-brightness_label_time.set_pos(5, 97)
-brightness_label_time.set_size(45, 20)
+brightness_label_time.set_pos(10, 150)
+brightness_label_time.set_size(80, 30)
brightness_label_time.set_text("时间:")
brightness_label_time.set_long_mode(lv.label.LONG.WRAP)
brightness_label_time.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
brightness_label_time.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_time_reduce_img = lv.img(brightness_screen)
-brightness_time_reduce_img.set_pos(50, 97)
-brightness_time_reduce_img.set_size(15, 17)
-brightness_time_reduce_img.set_src("U:/static/time_up2.png")
+brightness_time_reduce_img.set_pos(90, 145)
+brightness_time_reduce_img.set_size(30, 34)
+brightness_time_reduce_img.set_src("E:/static/time_up2.png")
brightness_time_reduce_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_time_reduce_imgbtn= lv.img(brightness_screen)
-brightness_time_reduce_imgbtn.set_size(49, 32)
-brightness_time_reduce_imgbtn.set_pos(79, 96)
+brightness_time_reduce_imgbtn.set_size(80, 45)
+brightness_time_reduce_imgbtn.set_pos(90, 140)
brightness_time_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
brightness_label_time_text = lv.label(brightness_screen)
-brightness_label_time_text.set_pos(65, 98)
-brightness_label_time_text.set_size(45, 20)
-brightness_label_time_text.set_text("5s")
+brightness_label_time_text.set_pos(130, 152)
+brightness_label_time_text.set_size(60, 30)
+brightness_label_time_text.set_text("5秒")
brightness_label_time_text.set_long_mode(lv.label.LONG.WRAP)
-brightness_label_time_text.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+brightness_label_time_text.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
brightness_label_time_text.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_time_add_img = lv.img(brightness_screen)
-brightness_time_add_img.set_pos(110, 97)
-brightness_time_add_img.set_size(15, 17)
-brightness_time_add_img.set_src("U:/static/time_up1.png")
+brightness_time_add_img.set_pos(190, 145)
+brightness_time_add_img.set_size(30, 34)
+brightness_time_add_img.set_src("E:/static/time_up1.png")
brightness_time_add_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
brightness_time_add_imgbtn= lv.img(brightness_screen)
-brightness_time_add_imgbtn.set_size(49, 32)
-brightness_time_add_imgbtn.set_pos(30, 96)
+brightness_time_add_imgbtn.set_size(70, 45)
+brightness_time_add_imgbtn.set_pos(170, 140)
brightness_time_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
+brightness_flip_label = lv.label(brightness_screen)
+brightness_flip_label.set_pos(0, 270)
+brightness_flip_label.set_size(140, 40)
+brightness_flip_label.set_text("翻腕亮屏")
+#brightness_flip_label.set_long_mode(lv.label.LONG.WRAP)
+brightness_flip_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
+brightness_flip_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+brightness_flip_sw = lv.switch(brightness_screen)
+brightness_flip_sw.set_pos(140, 260)
+brightness_flip_sw.set_size(80, 40)
+
+brightness_flip_label_btn = lv.label(brightness_screen)
+brightness_flip_label_btn.set_pos(135, 255)
+brightness_flip_label_btn.set_size(105, 65)
+brightness_flip_label_btn.set_text(" ")
+brightness_flip_label_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+
class BrightnessScreen(Screen):
def __init__(self):
super().__init__()
- self.level = 2
+ self.level = 6
self.time = 10
- self.read_data = {}
+ self.flip_sw =0
self.meta = brightness_screen
brightness_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
lv.EVENT.CLICKED, None)
brightness_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
lv.EVENT.CLICKED, None)
- brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_time_level(e)),
+ brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_time_level(e)),
lv.EVENT.CLICKED, None)
- brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_time_level(e)),
+ brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_time_level(e)),
lv.EVENT.CLICKED, None)
+ brightness_flip_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.flip_sw_cb(e)),lv.EVENT.CLICKED, None)
def initialization(self):
self.level = EventMesh.publish("get_brightness_level")
self.time = EventMesh.publish("get_brightness_time")
if self.time == None:
self.time = 5
brightness_label_time_text.set_text("{}秒".format(self.time))
+ EventMesh.publish("get_storage_config","flip_sw")
+ if self.flip_sw == None:
+ self.flip_sw = 0
+ if self.flip_sw == 0:
+ brightness_flip_sw.clear_state(lv.STATE.CHECKED)
+ else:
+ brightness_flip_sw.add_state(lv.STATE.CHECKED)
self.show_bar()
def add_level(self, e):
EventMesh.publish("push_add_brightness_level")
self.level = EventMesh.publish("get_brightness_level")
- # print("self.level:{}".format(self.level))
+ print("self.level:{}".format(self.level))
self.show_bar()
def reduce_level(self, e):
self.level = EventMesh.publish("get_brightness_level")
self.show_bar()
+ def flip_sw_cb(self,e):
+ code = e.get_code()
+ obj = e.get_target()
+ if code == lv.EVENT.CLICKED:
+ if self.flip_sw == 0:
+ self.flip_sw = 1
+ brightness_flip_sw.add_state(lv.STATE.CHECKED)
+ else:
+ self.flip_sw = 0
+ brightness_flip_sw.clear_state(lv.STATE.CHECKED)
+ # print("self.flip_sw:",self.flip_sw)
+ EventMesh.publish("set_storage_config",["flip_sw",self.flip_sw])
+
def reduce_time_level(self, e):
if self.time > 5:
self.time-=5
EventMesh.publish("set_brightness_time",self.time)
brightness_label_time_text.set_text("{}秒".format(self.time))
- # print("reduce_time_level:{}".format(self.read_data))
+
+
def add_time_level(self, e):
self.time+=5
if self.time >= 30:
self.time = 30
EventMesh.publish("set_brightness_time",self.time)
brightness_label_time_text.set_text("{}秒".format(self.time))
- # print("add_time_level:{}".format(self.read_data))
+
def show_bar(self):
if self.level == None:
- self.level = 2
- brightness_bar.set_value((100 // 10) * self.level,lv.ANIM.OFF)
+ self.level = 6
+ brightness_bar.set_value((100 // 10) * self.level, lv.ANIM.OFF)
def __init__(self):
super().__init__()
- self.level = 2
+ self.level = 0
self.meta = phonering_screen
phonering_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
lv.EVENT.CLICKED, None)
def __init__(self):
super().__init__()
- self.level = 2
+ self.level = 0
self.meta = alarmvolume_screen
alarmvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
lv.EVENT.CLICKED, None)
def __init__(self):
super().__init__()
- self.level = 2
+ self.level = 0
self.meta = msgvolume_screen
msgvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
lv.EVENT.CLICKED, None)
volume_adjust_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
totalvolume_title = lv.label(volume_adjust_screen)
-totalvolume_title.set_pos(0, 5)
-totalvolume_title.set_size(128, 20)
+totalvolume_title.set_pos(0, 10)
+totalvolume_title.set_size(240, 40)
totalvolume_title.set_text("铃声调节")
totalvolume_title.set_long_mode(lv.label.LONG.WRAP)
totalvolume_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
totalvolume_title.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
totalvolume_label1 = lv.label(volume_adjust_screen)
-totalvolume_label1.set_pos(5, 30)
-totalvolume_label1.set_size(128-5, 20)
+totalvolume_label1.set_pos(10, 70)
+totalvolume_label1.set_size(230, 40)
totalvolume_label1.set_text("铃声:")
totalvolume_label1.set_long_mode(lv.label.LONG.WRAP)
totalvolume_label1.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
totalvolume_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
totalvolume_bar = lv.bar(volume_adjust_screen)
-totalvolume_bar.set_pos(10, 55)
-totalvolume_bar.set_size(108, 12)
+totalvolume_bar.set_pos(20, 100)
+totalvolume_bar.set_size(200, 25)
totalvolume_bar.set_style_anim_time(1000, lv.PART.INDICATOR | lv.STATE.DEFAULT)
totalvolume_bar.set_mode(lv.bar.MODE.NORMAL)
totalvolume_bar.set_value(50, lv.ANIM.OFF)
totalvolume_bar.add_style(style_bar_indic, lv.PART.INDICATOR | lv.STATE.DEFAULT)
totalvolume_reduce_imgbtn = lv.img(volume_adjust_screen)
-totalvolume_reduce_imgbtn.set_pos(6, 70)
-totalvolume_reduce_imgbtn.set_size(55, 23)
+totalvolume_reduce_imgbtn.set_pos(5, 145)
+totalvolume_reduce_imgbtn.set_size(110, 46)
totalvolume_reduce_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-totalvolume_reduce_imgbtn.set_src("U:/static/reduce_btn.png")
+totalvolume_reduce_imgbtn.set_src("E:/static/reduce_btn.png")
totalvolume_reduce_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
totalvolume_add_imgbtn = lv.img(volume_adjust_screen)
-totalvolume_add_imgbtn.set_pos(67, 70)
-totalvolume_add_imgbtn.set_size(55, 23)
+totalvolume_add_imgbtn.set_pos(125, 145)
+totalvolume_add_imgbtn.set_size(110, 46)
totalvolume_add_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
-totalvolume_add_imgbtn.set_src("U:/static/add_btn.png")
+totalvolume_add_imgbtn.set_src("E:/static/add_btn.png")
totalvolume_add_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
class totalvolumeScreen(Screen):
lv.EVENT.CLICKED, None)
totalvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
lv.EVENT.CLICKED, None)
- self.read_data = {}
self.volum_size = 8
self.aud = audio.Audio(0)
- # self.aud.set_pa(Pin.GPIO29)
def initialization(self):
- self.read_data = EventMesh.publish("get_storage_data")
- # print("self.read_data:{}".format(self.read_data))
num = EventMesh.publish("get_volum_size")
if num == None:
self.volum_size = 8
if msg == 1:
self.aud.setVolume(self.volum_size)
EventMesh.publish("set_volum_size",self.volum_size)
- self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放声音
+ # print("self.read_data:size :{}".format(self.read_data))
+
+ self.aud.play(1, 1, 'E:/static/audio_audio_haixiu.mp3') #播放声音
def Close(self):
self.aud.stop()