#endif
#ifdef PROJECT_NAME_G3_K01
LV_FONT_DECLARE(K01_font_16_ALL)
+LV_FONT_DECLARE(K01_font_30_DIAL)
#endif
/*Declare the custom (user defined) fonts*/
#ifdef LV_FONT_CUSTOM_DECLARE
lvgl_SRCS += $(LVGL_DIR_NAME)/src/font/lv_font_28_dial.c
lvgl_SRCS += $(LVGL_DIR_NAME)/src/font/lv_font_60_main_menu.c
lvgl_SRCS += $(LVGL_DIR_NAME)/src/font/K01_font_16_ALL.c
+lvgl_SRCS += $(LVGL_DIR_NAME)/src/font/K01_font_30_DIAL.c
lib/lvgl/src/font/lv_font_28_dial.c \
lib/lvgl/src/font/lv_font_60_main_menu.c \
lib/lvgl/src/font/K01_font_16_ALL.c \
+lib/lvgl/src/font/K01_font_30_DIAL.c \
lib/lvgl/src/hal/lv_hal_disp.c \
lib/lvgl/src/hal/lv_hal_indev.c \
lib/lvgl/src/hal/lv_hal_tick.c \
(lv_font_t*)&K01_font_16_ALL
};
+STATIC const mp_lv_struct_t mp_K01_font_30_DIAL = {
+{ &mp_lv_font_t_type },
+(lv_font_t*)&K01_font_30_DIAL
+};
#endif
typedef struct{
int offset;
#endif
#ifdef PROJECT_NAME_G3_K01
{ MP_ROM_QSTR(MP_QSTR_K01_font_16_ALL), MP_ROM_PTR(&mp_K01_font_16_ALL) },
+ { MP_ROM_QSTR(MP_QSTR_K01_font_30_DIAL), MP_ROM_PTR(&mp_K01_font_30_DIAL) },
#endif
{ MP_ROM_QSTR(MP_QSTR___name__), MP_ROM_QSTR(MP_QSTR_lvgl) },
factorymode_screen = lv.obj()
print("factorymode_screen")
factorymode_screen.center()
-factorymode_screen.set_size(240, 320)
+factorymode_screen.set_size(128, 128)
factorymode_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
factorymode_title = lv.label(factorymode_screen)
-factorymode_title.set_pos(0, 10)
-factorymode_title.set_size(240, 40)
+factorymode_title.set_pos(0, 5)
+factorymode_title.set_size(128, 20)
factorymode_title.set_text("-工厂模式-")
factorymode_title.set_long_mode(lv.label.LONG.WRAP)
factorymode_title.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
factorymode_cont = lv.obj(factorymode_screen)
factorymode_cont.set_pos(0, 50)
-factorymode_cont.set_size(240, 270)
+factorymode_cont.set_size(128, 270)
factorymode_cont.add_style(factorymode_cont_style,lv.PART.MAIN | lv.STATE.DEFAULT)
factorymode_location = lv.btn(factorymode_cont)
factorymode_location.set_pos(0, factorymode_cont_y)
-factorymode_location.set_size(240, 60)
+factorymode_location.set_size(128, 60)
factorymode_location_label = lv.label(factorymode_location)
factorymode_location_label.set_text("定位测试")
factorymode_location.set_style_pad_all(0, lv.STATE.DEFAULT)
-factorymode_location_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+factorymode_location_label.align(lv.ALIGN.LEFT_MID, 0, 0)
factorymode_location_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
factorymode_location_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
factorymode_location.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
factorymode_cont_y+=60
factorymode_bat_test = lv.btn(factorymode_cont)
factorymode_bat_test.set_pos(0, factorymode_cont_y)
-factorymode_bat_test.set_size(240, 60)
+factorymode_bat_test.set_size(128, 60)
factorymode_bat_test_label = lv.label(factorymode_bat_test)
factorymode_bat_test_label.set_text("电池测试")
factorymode_bat_test.set_style_pad_all(0, lv.STATE.DEFAULT)
-factorymode_bat_test_label.align(lv.ALIGN.LEFT_MID, 70, 0)
+factorymode_bat_test_label.align(lv.ALIGN.LEFT_MID, 0, 0)
factorymode_bat_test_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
factorymode_bat_test_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
factorymode_bat_test.add_style(style_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeBatTest_screen = lv.obj()
FactoryModeBatTest_screen.center()
-FactoryModeBatTest_screen.set_size(240, 320)
+FactoryModeBatTest_screen.set_size(128, 128)
FactoryModeBatTest_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeBatTest_label = lv.label(FactoryModeBatTest_screen)
FactoryModeBatTest_label.set_text("Vbat:0V")
-FactoryModeBatTest_label.set_size(240, 100)
-FactoryModeBatTest_label.set_pos(50, 100)
+FactoryModeBatTest_label.set_size(128, 100)
+FactoryModeBatTest_label.set_pos(0, 40)
+FactoryModeBatTest_label.set_style_text_align(lv.TEXT_ALIGN.CENTER,0)
FactoryModeBatTest_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
FactoryModeBatTest_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeLocation_screen = lv.obj()
print("FactoryModeLocation_screen")
FactoryModeLocation_screen.center()
-FactoryModeLocation_screen.set_size(240, 320)
+FactoryModeLocation_screen.set_size(128, 128)
FactoryModeLocation_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeLocation_WIFI_label = lv.label(FactoryModeLocation_screen)
FactoryModeLocation_WIFI_label.set_text("WIFI:")
-FactoryModeLocation_WIFI_label.set_size(240, 100)
-FactoryModeLocation_WIFI_label.set_pos(0, 0)
+FactoryModeLocation_WIFI_label.set_size(128, 100)
+FactoryModeLocation_WIFI_label.set_pos(0, 5)
FactoryModeLocation_WIFI_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
FactoryModeLocation_WIFI_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeLocation_CALL_label = lv.label(FactoryModeLocation_screen)
FactoryModeLocation_CALL_label.set_text("CALL:")
-FactoryModeLocation_CALL_label.set_size(240, 60)
-FactoryModeLocation_CALL_label.set_pos(0, 100)
+FactoryModeLocation_CALL_label.set_size(128, 100)
+FactoryModeLocation_CALL_label.set_pos(0, 110)
FactoryModeLocation_CALL_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
FactoryModeLocation_CALL_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
FactoryModeLocation_GNSS_label = lv.label(FactoryModeLocation_screen)
FactoryModeLocation_GNSS_label.set_text("GNSS:\n")
-FactoryModeLocation_GNSS_label.set_size(240, 200)
-FactoryModeLocation_GNSS_label.set_pos(0, 160)
+FactoryModeLocation_GNSS_label.set_size(128, 100)
+FactoryModeLocation_GNSS_label.set_pos(0, 215)
FactoryModeLocation_GNSS_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
FactoryModeLocation_GNSS_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
style_common_bg_rect_btn_pressed = lv.style_t()
style_common_bg_rect_btn_pressed.init()
style_common_bg_rect_btn_pressed.set_bg_color(lv.color_make(0x1E, 0x26, 0xff))
-style_common_bg_rect_btn_pressed.set_bg_opa(100)
+style_common_bg_rect_btn_pressed.set_bg_opa(200)
style_common_bg_rect_btn_pressed.set_border_width(0)
style_common_bg_rect_btn_pressed.set_shadow_opa(0)
style_common_bg_rect_btn_pressed.set_border_width(0)
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_wechat_btn.set_border_width(0)
+style_wechat_btn.set_pad_left(0)
+style_wechat_btn.set_pad_right(0)
+style_wechat_btn.set_pad_top(0)
+style_wechat_btn.set_pad_bottom(0)
# -------------------------------------------wechat screen----------------------------------------------------------
wechat_screen = lv.obj()
wechat_screen_list_screen.set_pos(0, 5)
wechat_screen_list_screen.set_size(LCD_X, 90)
wechat_screen_list_screen.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
+wechat_screen_list_screen.add_flag(lv.obj.FLAG.HIDDEN)
wechat_screen_list_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
wechat_press_btn = lv.btn(wechat_screen)
-wechat_press_btn.set_pos(10, 98)
+wechat_press_btn.set_pos(10, 94)
wechat_press_btn.set_size(LCD_X-20, 30)
wechat_press_btn.add_style(style_wechat_btn, lv.PART.MAIN | lv.STATE.DEFAULT)
wechat_press_btn.add_style(style_common_bg_rect_btn_pressed, lv.PART.MAIN | lv.STATE.PRESSED)
wechat_press_label = lv.label(wechat_screen)
wechat_press_label.set_text("请按住说话")
wechat_press_label.set_size(LCD_X, 20)
-wechat_press_label.set_pos(0,105)
+wechat_press_label.set_pos(0,101)
wechat_press_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
wechat_press_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
wechat_show_infor_obj = lv.obj(wechat_screen)
wechat_show_infor_obj.set_pos(0, 5)
wechat_show_infor_obj.set_size(LCD_X, 90)
+wechat_show_infor_obj.clear_flag(lv.obj.FLAG.HIDDEN)
wechat_show_infor_obj.set_scrollbar_mode(lv.SCROLLBAR_MODE.OFF)
wechat_show_infor_obj.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
wechat_update_one.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
wechat_update_label = lv.label(wechat_show_infor_obj)
-wechat_update_label.set_pos(0, 40)
-wechat_update_label.set_size(LCD_X, 60)
+wechat_update_label.set_pos(0, 35)
+wechat_update_label.set_size(LCD_X, 45)
wechat_update_label.set_text(" ")
wechat_update_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
wechat_update_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
EventMesh.subscribe("get_aduio_state", self.get_aduio_state)
EventMesh.subscribe("get_send_state", self.get_send_state)
+ EventMesh.subscribe("get_wechat_has_state", self.get_wechat_has_state)
EventMesh.subscribe("update_new_infor", self.update_new_infor)
def update_new_infor(self,event, msg): #更新页面显示
wechat_show_infor_obj.clear_flag(lv.obj.FLAG.HIDDEN)
wechat_screen_list_screen.add_flag(lv.obj.FLAG.HIDDEN)
+
if self.wechat_recode_list["num"] != 0:
wechat_update_one.set_text("最近一条消息")
value = self.wechat_recode_list["01"]
if value.find("T:") != -1:
+
conten = value[2:]
wechat_pause_img.add_flag(lv.obj.FLAG.HIDDEN)
wechat_update_label.set_text(str(conten))
wechat_pause_img.add_flag(lv.obj.FLAG.HIDDEN)
wechat_update_label.set_text("暂无数据")
+
+ def clear_show_date(self):
+ wechat_show_infor_obj.add_flag(lv.obj.FLAG.HIDDEN)
+ wechat_screen_list_screen.clear_flag(lv.obj.FLAG.HIDDEN)
+ self.wechat_play_state = 0
+ self.aud.stop()
+ self.play_timer.stop()
+
+ def get_wechat_has_state(self,event, msg):
+ state = 0
+ state = wechat_screen_list_screen.has_flag(lv.obj.FLAG.HIDDEN)
+ print("state:{}".format(state))
+ return state
+
+
def playing_cb(self,e):
if self.wechat_recode_list["num"] != 0:
self.play_timer.stop()
def stop_play_wechat(self,*argc):
-
+
+ print("stop_play_wechat!!!!!!!!")
play_state = EventMesh.publish("get_audio_state")#音频播放状态
if play_state != None:
if play_state == 0:#在上一个界面在播放音频时切换界面则关闭 以免一直播放
def talking(self,e):
if EventMesh.publish(constants.EVENT.GET_CONNECT) == 1:
Wechat_log("talking1")
- wechat_show_infor_obj.add_flag(lv.obj.FLAG.HIDDEN)
- wechat_screen_list_screen.clear_flag(lv.obj.FLAG.HIDDEN)
- self.play_timer.stop()
- self.aud.stop()
+
+ self.clear_show_date()
+
self.wechat_list.add_flag(lv.obj.FLAG.HIDDEN)#隐藏列表选项方框
self.countdown = 1
wechat_label.clear_flag(lv.obj.FLAG.HIDDEN)
if j >= len(arm_data):
break
fd.write(arm)
- EventMesh.publish("update_new_infor")
+
EventMesh.publish(constants.PROTOCOL.TK_SEND,1)
+ state = EventMesh.publish("get_wechat_has_state")
+ if state == True:
+ EventMesh.publish("load_screen", {"screen": "wechat_popup"})
EventMesh.publish("set_wechat_data",[MXA_MSG,wechat_recode_list])
# Wechat_log("wechat_recode_list:len data:{}".format(wechat_recode_list))
EventMesh.publish(constants.PROTOCOL.MESSAGE_SEND)
- EventMesh.publish("update_new_infor")
+ state = EventMesh.publish("get_wechat_has_state")
+ if state == True:
+ EventMesh.publish("load_screen", {"screen": "wechat_popup"})
+
if self.pwk_press == 1: #按按钮时不处理
return
if status == 1:#拔出
+ print("USB OUT")
# if(self.GPIO41_status == 1):
# EventMesh.publish("btn8_press")
#self.__pwk_timer.start(self.__PowerDownTimeOut, 0, self.pwk_press_cb)
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
+ EventMesh.publish("load_screen", {"screen": "charge_in"})
+
pass
elif status == 0:#插入usb
- EventMesh.publish(constants.EVENT.SYSTEM_UP)
+ print("USB IN")
+ EventMesh.publish("load_screen", {"screen": "charge_out"})
# self.__pwk_timer.stop()
# # print("btn_back:{}".format(mdls.screen_size_style[mdls.models][1]))
# if self.pwk_press != 0:
TIME_SEND = "Time_SEND"
TIME_RECV = "Time_RECV"
+ WLKEY_SEND = "WLKEY_SEND"
+ WLKEY_RECV = "WLKEY_RECV"
+
+ SILENCETIME2_SEND ="SILENCETIME2_SEND"
+ SILENCETIME2_RECV = "SILENCETIME2_RECV"
+
class EVENT:
CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND"
lcd.lcd_init(init_buf, 128, 128, 26000, 1, 4, 0, invalid, displayon, displayoff, None,TESel = True,TEPin = 17)
# gpio_backlight = Pin(Pin.GPIO37, Pin.OUT, Pin.PULL_DISABLE, 0)
# gpio_backlight.write(1)
-PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 10)
+PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 1000)
PWM_backlight.open()
LCD_SIZE_W = 128
lv.scr_load(power_on_screen)
utime.sleep_ms(200)
print("power_on_screen end...")
-PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 6, 10)
+PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 200, 1000)
PWM_backlight.open()
\ No newline at end of file
ui.add_screen(_ui.LowOnePowerScreen())
ui.add_screen(_ui.wechatFailedScreen())
ui.add_screen(_ui.NoSimAutoScreen())
+ ui.add_screen(_ui.chargeInScreen())
+ ui.add_screen(_ui.chargeOutScreen())
+ ui.add_screen(_ui.RemoveMessageScreen())
ui.add_screen(NewWechatPopupScreen())
ui.add_screen(HealthScreen())
# ui.add_screen(_ui.Setting3Screen())
print("init6:{}".format(utime.localtime()))
- from protocol import LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\
+ from protocol import SILENCETIME2_ProtoCol,KEYBRD_ProtoCol,LK_ProtoCol,PING_ProtoCol,HEART_ProtoCol,OXYGEN_ProtoCol,OXYGEN_One_ProtoCol,HRSTART_ProtoCol,CENTER_ProtoCol,UPLOAD_ProtoCol,\
TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,Time_ProtoCol,\
ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol,sosHome_dial_ProtoCol,SockManager,NetManager
pcr.add_support(LOWBAT_ProtoCol())
pcr.add_support(sosHome_dial_ProtoCol())
pcr.add_support(Time_ProtoCol())
+ pcr.add_support(KEYBRD_ProtoCol())
+ pcr.add_support(SILENCETIME2_ProtoCol())
sm = SockManager()
sm.add_support_resolver(pcr)
bat_total_value = bat_total_value//curr_count#一分钟更新一次电量 10个平均值
EventMesh.publish("set_curr_battery_level",bat_total_value)
- # print("self.vbat_buf:{} curr_count :{} bat_total_value:{} temp:{}".format(self.vbat_buf,curr_count,bat_total_value,temp))
+ print("self.vbat_buf:{}".format(self.vbat_buf))
bat_tmp = EventMesh.publish("screen_get_battery")
if self.bat_time > 5*60:
self.bat_time = 0
- if battery[1] == 20:
+ if battery[1] <= 20 and battery[1] > 0:
EventMesh.publish("load_screen", {"screen": "LOW_POWER"})
else:
self.bat_time = 0
d = int(
time_msg / 86400) # The int call removes the decimals. Conveniently, it always rounds down. int(2.9) returns 2 instead of 3, for example.
time_msg -= (
- d * 86400) # This updates the value of x to show that the already counted seconds won't be double counted or anything.
+ d * 86400) # This updates the value of x to show that the already counted seconds won't be double counted or anything.
h = int(time_msg / 3600)
time_msg -= (h * 3600)
m = int(time_msg / 60)
pass
def start_temp(self, topic, msg):
- WHO_AM_I = bytearray([0x01, 0])
- I2C_SLAVE_ADDR = 0x49
- r_data = bytearray(2)
- data = bytearray([0x61A0, 0]) # 唤醒
- return self.i2c0.write(I2C_SLAVE_ADDR, WHO_AM_I, 1, data, 2)
+ pass
+ # WHO_AM_I = bytearray([0x01, 0])
+ # I2C_SLAVE_ADDR = 0x49
+ # r_data = bytearray(2)
+ # data = bytearray([0x61A0, 0]) # 唤醒
+ # return self.i2c0.write(I2C_SLAVE_ADDR, WHO_AM_I, 1, data, 2)
def stop_temp(self, topic, msg):
- WHO_AM_I = bytearray([0x01, 0])
- I2C_SLAVE_ADDR = 0x49
- r_data = bytearray(2)
- data = bytearray([0x60A0, 0]) #休眠
- return self.i2c0.write(I2C_SLAVE_ADDR, WHO_AM_I, 1, data, 2)
+ pass
+ # WHO_AM_I = bytearray([0x01, 0])
+ # I2C_SLAVE_ADDR = 0x49
+ # r_data = bytearray(2)
+ # data = bytearray([0x60A0, 0]) #休眠
+ # return self.i2c0.write(I2C_SLAVE_ADDR, WHO_AM_I, 1, data, 2)
def get_temp(self, topic, msg):
- WHO_AM_I = bytearray([0x00, 0])
- I2C_SLAVE_ADDR = 0x49
- r_data = bytearray(2)
- self.i2c0.read(I2C_SLAVE_ADDR, WHO_AM_I, 1, r_data, 2, 0)
- #print("temp_data:{}".format(r_data))
- temp_s = ((r_data[0]<<8) | (r_data[1]))>>4
- #print("temp_s:{}".format(temp_s))
- temp_data = temp_s * 0.0625
- #print("temp_data:{}".format(temp_data))
- return temp_data
+ pass
+ # WHO_AM_I = bytearray([0x00, 0])
+ # I2C_SLAVE_ADDR = 0x49
+ # r_data = bytearray(2)
+ # self.i2c0.read(I2C_SLAVE_ADDR, WHO_AM_I, 1, r_data, 2, 0)
+ # #print("temp_data:{}".format(r_data))
+ # temp_s = ((r_data[0]<<8) | (r_data[1]))>>4
+ # #print("temp_s:{}".format(temp_s))
+ # temp_data = temp_s * 0.0625
+ # #print("temp_data:{}".format(temp_data))
+ # return temp_data
class getBrightnessManager(Abstract):#获取亮度级别
def __init__(self):
- self.level = 6#默认值6
+ self.level = 2#默认值6
# self.read_data = {}
self.time = 5
self.PWM_backlight = None
def add(self, event, msg):
if self.level < 10:
self.level = self.level + 2
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS, self.level, 10)
+ if self.level >= 10:
+ self.level = 10
+ print("add self.level:{}".format(self.level))
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level*100, 1000)
self.PWM_backlight.open()
read_data = EventMesh.publish("get_storage_data")
def reduce(self, event, msg):
if self.level > 0:
self.level = self.level - 2
+ print("reduce self.level:{}".format(self.level))
if self.level <= 0:
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS, 1, 10)
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 1*100, 1000)
else:
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_MS,self.level, 10)
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US,self.level*100, 1000)
self.PWM_backlight.open()
read_data = EventMesh.publish("get_storage_data")
EventMesh.subscribe("play_poewr_off_event", self.play_poewr_off_event)
def play_poewr_on_event(self, event, msg):
- self.aud.play(1, 1, 'E:/static/R_POWER_1.mp3') #播放播放开机铃声
+ self.aud.play(1, 1, 'U:/static/R_POWER_1.mp3') #播放播放开机铃声
def play_poewr_off_event(self, event, msg):
self.aud.setVolume(11)
- self.aud.play(1, 1, 'E:/static/R_POWER_OFF_1.mp3') #播放关机铃声
+ self.aud.play(1, 1, 'U:/static/R_POWER_OFF_1.mp3') #播放关机铃声
class getBootOffManager(Abstract):#开关机时间
def __init__(self):
with open("/usr/static/storage_file/config.json","w",encoding="utf-8") as fd:
ujson.dump(read_data,fd)
EventMesh.publish(constants.PROTOCOL.LOWBAT_SEND)
+#KEYBRD
+class KEYBRD_ProtoCol(ProtoCol):
+ """低电提醒"""
+ TYPE = "WLKEY"
+ def send(self, event, msg):
+ # [XT*334588000000156*0006*LOWBAT]
+ send_data = self.PID+"*%s*0005*WLKEY"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("KEYBRD:data:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*867387060319166*000A*KEYBRD]'
+
+ EventMesh.publish(constants.PROTOCOL.WLKEY_SEND)
+#SILENCETIME2
+class SILENCETIME2_ProtoCol(ProtoCol):
+ """低电提醒"""
+ TYPE = "SILENCETIME2"
+ def send(self, event, msg):
+ # [XT*334588000000156*0006*LOWBAT]
+ send_data = self.PID+"*%s*000C*SILENCETIME2"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("KEYBRD:data:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*867387060319166*000A*KEYBRD]'
+
+ EventMesh.publish(constants.PROTOCOL.SILENCETIME2_SEND)
# 低电提醒
#[XT*334588000000156*0008*LOWBAT,1]
class Time_ProtoCol(ProtoCol):
timeSecond = int(msg_data[1])
#print("type {} timeSecond {}".format((msg_data[1]),timeSecond))
next_alarm_time = utime.localtime(timeSecond)
- #print("next_alarm_time",next_alarm_time)
+ print("next_alarm_time",next_alarm_time)
#print("local time",msg)
# machine.RTC().datetime((tm[0], tm[1], tm[2], tm[6], tm[3], tm[4], tm[5], 0))
hsensor.init()
hsensor.open_blood_oxygen()
utime.sleep(5)
-PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 100)
+PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 1000)
PWM_backlight.open()
hsensor.close()
tp_cst816.suspend()
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, 140)
- no_valied_num_screen_title1.set_size(240, 40)
+ no_valied_num_screen_title1.set_pos(0, 20)
+ no_valied_num_screen_title1.set_size(128, 20)
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, 190)
- no_valied_num_screen_title2.set_size(240, 40)
+ no_valied_num_screen_title2.set_pos(0, 50)
+ no_valied_num_screen_title2.set_size(128, 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)
def timeout_hangup(self,e):
EventMesh.publish("system_sleep_rest")#防止黑屏
self.time_count+=1
- if self.time_count >= 5:#5s内没有打通则不在继续拨打关闭
+ if self.time_count >= 10:#5s内没有打通则不在继续拨打关闭
self.time_count = 0
EventMesh.publish("set_UI_high_priority", 0)
sos_flag = EventMesh.publish("get_sos_flag")
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_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_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.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(20)
+ # 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(120, 60)
+ message_full_cancel.set_size(64, 63)
message_full_cancel.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- message_full_cancel.set_pos(120,180)
+ 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(20)
+ # 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)
+ 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)
- sms.deleteMsg(1,4)
- EventMesh.publish("load_screen", {"screen": "popup"})
+ 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 btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+remove_message_popup_screen = None
+remove_message_popup_title = None
+#信息弹窗
+class RemoveMessageScreen(Screen):#删除短信弹窗框
+ NAME = "remove_message_popup"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ self.timer = osTimer()
+
+ def initialization(self):
+ global remove_message_popup_screen,remove_message_popup_title
+ if remove_message_popup_screen == None :
+ remove_message_popup_screen = lv.obj()
+ print("message_popup_screen")
+ 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_text("正在删除中...\n请稍候")
+ 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 = remove_message_popup_screen
+ self.timer.start(1000,1,self.timer_cb)
+ def timer_cb(self,*argc):
+ msg_nums = sms.getMsgNums()
+ # print("timer_cb remove!!!!!!!!!",msg_nums)
+ if msg_nums == 0:
+ self.timer.stop()
+ EventMesh.publish("load_screen", {"screen": "popup"})
+
+ def Close(self):
+ self.timer.stop()
+
+ 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 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"})
+
+
+
+
############短信###############################
MSG_FLAG = 0
MSG_MAX = 5 #最大显示短信内容条数
print("index:{}".format(index))
sms_data = sms.getSaveLoc()
sms_max = sms_data[0][2]
- if index >= sms_max:
+ if index != -1:
+ tmp = sms.searchTextMsg(index)
+ detail = tmp[1]#内容
+ 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))
+ new_com = tmp_test.split(':')[1]
+ # new_md5 = detail.split(':')[3]
+ if len(new_ip) > 0 and len(new_com) > 0:
+ EventMesh.publish("set_new_ip", [new_ip,new_com,tmp[0]])#设置关机时间
+ # EventMesh.publish("set_new_ip", [new_ip,new_com,new_md5])#设置关机时间
+
+ if index >= sms_max-1:
EventMesh.publish("load_screen", {"screen": "message_full"})
else:
EventMesh.publish("load_screen", {"screen": "message_popup"})
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.add_flag(lv.obj.FLAG.CLICKABLE)
+
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_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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "stopwatch"})), 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
self.phone_num = ''
self.phone_list = []
self.button = 0
-
+ self.mute_state = 0
def show_num(self):
global on_call_screen_tab_label
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
+ on_call_volum_label.set_style_text_color(lv.color_make(128, 128, 128), lv.STATE.DEFAULT)
+ else:
+ on_call_volum_label.set_style_text_color(lv.color_make(0xff, 0xff, 0xff), lv.STATE.DEFAULT)
+ self.mute_state = 0
# self.aud.setVolume(0)
# if self.open_volum_state == 1:
# self.open_volum_state = 0
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(40),int(45))
- Lowpower_screen_img.set_size(160,230)
+ Lowpower_screen_img.set_pos(int(24),int(10))
+ Lowpower_screen_img.set_size(80,80)
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.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(10))
- LowOnePower_screen_img.set_size(34,55)
+ LowOnePower_screen_img.set_pos(int(47),int(5))
+ LowOnePower_screen_img.set_size(30,49)
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.add_style(style_screen, lv.PART.MAIN|lv.STATE.DEFAULT)
LowOnePower_screen_label1 = lv.label(LowOnePower_screen)
- LowOnePower_screen_label1.set_pos(0, 90)
- LowOnePower_screen_label1.set_size(128, 20)
- LowOnePower_screen_label1.set_text("电池电量过低")
+ 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.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, 100)
- # LowOnePower_screen_label2.set_size(128, 20)
- # LowOnePower_screen_label2.set_text("继续使用,5s过后强制关机")
+ # 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)
EventMesh.publish("return_prev_screen")
pass
+charge_in_screen = None
+charge_in_screen_label = None
+
+#没有设置紧急联系人的号码
+class chargeInScreen(Screen):
+ NAME = "charge_in"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ self.count = 0
+ 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)
+ # add style for watchface
+ charge_in_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
+
+
+ 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 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):
+ 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
+
+
+charge_out_screen = None
+charge_out_screen_label = None
+
+#没有设置紧急联系人的号码
+class chargeOutScreen(Screen):
+ NAME = "charge_out"
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.meta_type = "popup"
+ self.count = 0
+ self.timer = osTimer()
+
+
+ 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)
+
+
+ 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):
+ 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
#进入图片
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.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_sleep_timer = osTimer()
self.system_sleep_timer_count = 0
self.sleep_flag = 1
- self.level = 60
+ self.level = 2
self.aud = audio.Audio(0)
self.aud.set_pa(Pin.GPIO29)
if b == True:
self.level = read_data["brightness_level"]
else:
- self.level = 60
+ self.level = 2
read_data["brightness_level"] = self.level
with open("/usr/static/storage_file/config.json","w",encoding="utf-8") as fd:
ujson.dump(read_data,fd)
else:
- self.level = 60 #默认是6级别
+ self.level = 2 #默认是2级别
self.volume_size = 8
if self.level == None:
- self.level = 60
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level, 100)
+ self.level = 2
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level*100, 1000)
self.PWM_backlight.open()
self.sleep_lock = 0
self.aud.setVolume(self.volum_size)
# 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):
utime.sleep_ms(60)
self.level = EventMesh.publish("get_brightness_level")
if self.level == None:
- self.level = 60
- elif self.level > 100:
- self.level = 100
- elif self.level <= 0:
+ self.level = 6
+ elif self.level > 10:
self.level = 10
- print("__lcd_on self.level:",self.level)
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, self.level, 100)
+ 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.open()
self.sleep_lock = 0
utime.sleep_ms(200)
self.sleep_lock = 1
self.sleep_flag = 0
- self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 100)
+ self.PWM_backlight = PWM(PWM.PWM1, PWM.ABOVE_10US, 0, 1000)
self.PWM_backlight.open()
#lcd_ctrl.write(0)
#
style_font_youyuan_70_black = lv.style_t()
style_font_youyuan_70_black.init()
-style_font_youyuan_70_black.set_text_color(lv.color_make(0x32, 0xc8, 0xdb))
-style_font_youyuan_70_black.set_text_font(lv.K01_font_16_ALL)
+style_font_youyuan_70_black.set_text_color(lv.color_make(0xFF, 0xFF, 0xFF))
+style_font_youyuan_70_black.set_text_font(lv.K01_font_30_DIAL)
#style_font_youyuan_70_black.set_text_font(lv.font_70_bold)
#init3:(2106, 2, 7, 6, 29, 38, 6, 38)
data = RTC().datetime()
watchface1_time1_text = lv.label(Watchface1)
-watchface1_time1_text.set_pos(20, 20)
+watchface1_time1_text.set_pos(4, 25)
watchface1_time1_text.set_size(100, 71)
watchface1_time1_text.set_align(lv.TEXT_ALIGN.LEFT)
watchface1_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
#日期
watchface1_date_span = lv.label(Watchface1)
-watchface1_date_span.set_pos(4, 50)
+watchface1_date_span.set_pos(4, 52)
watchface1_date_span.set_size(60, 20)
watchface1_date_span.set_align(lv.TEXT_ALIGN.LEFT)
watchface1_date_span.set_text("%d月%d日"%(date1,date2))
watchface1_date_span.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
#星期
watchface1_week_span = lv.label(Watchface1)
-watchface1_week_span.set_pos(4, 70)
+watchface1_week_span.set_pos(4, 72)
watchface1_week_span.set_size(64, 20)
watchface1_week_span.set_align(lv.TEXT_ALIGN.LEFT)
watchface1_week_span.set_text("星期%s"%(get_week(week)))
# setting_language_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
#setting_cont_y += 60
-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_cont)
setting_dialswitch_label.set_text("表盘切换")
-setting_dialswitch.set_style_pad_all(0, lv.STATE.DEFAULT)
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_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_themeswitch_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
#setting_cont_y+=60
-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_cont)
setting_imei_label.set_text("设备IMEI号")
-setting_imei.set_style_pad_all(0, lv.STATE.DEFAULT)
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_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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_app_label.set_text("手机APP")
-setting_app.set_style_pad_all(0, lv.STATE.DEFAULT)
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_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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_bright_label.set_text("屏幕调节")
setting_bright_label.add_flag(lv.obj.FLAG.CLICKABLE)
setting_bright_label.set_size(128-34, 35)
-setting_bright.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_bright_label.set_pos(34, setting_cont_y+5)
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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_volume_label.set_text("铃声")
setting_volume_label.add_flag(lv.obj.FLAG.CLICKABLE)
setting_volume_label.set_size(128-34, 35)
-setting_volume.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_volume_label.set_pos(34, setting_cont_y+5)
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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_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.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_restore_label.set_pos(34, setting_cont_y+5)
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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_poweroff_label.set_text("关机")
setting_poweroff_label.add_flag(lv.obj.FLAG.CLICKABLE)
setting_poweroff_label.set_size(128-34, 35)
-setting_poweroff.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_poweroff_label.set_pos(34, setting_cont_y+5)
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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_version_label.set_text("关于设备")
setting_version_label.add_flag(lv.obj.FLAG.CLICKABLE)
setting_version_label.set_size(128-34, 35)
-setting_version.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_version_label.set_pos(34, setting_cont_y+5)
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.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
setting_cont_y+=35
-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_cont)
setting_update_label.set_text("系统升级")
setting_update_label.add_flag(lv.obj.FLAG.CLICKABLE)
setting_update_label.set_size(128-34, 35)
-setting_update.set_style_pad_all(0, lv.STATE.DEFAULT)
setting_update_label.set_pos(34, setting_cont_y+5)
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.add_style(style_btn, 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_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_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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "update"})), 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)
# img regist btton
EventMesh.publish("load_screen", {"screen": "setting"})
def confirm(self, e):
- EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
-
+ EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
def concel(self, e):
EventMesh.publish("load_screen", {"screen": "setting"})
self.meta = poweroff_confirm_screen
self.timer = osTimer()
self.aud = audio.Audio(0)
+
def initialization(self):
step = EventMesh.publish("get_old_step_value")
def initialization(self):
self.count = 0
- self.aud.setVolume(11)
self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放开机铃声
self.timer1.start(1000,1,self.fun)
self.timer2.start(6000,0,self.open_fun)
def __init__(self):
super().__init__()
- self.level = 60
+ self.level = 2
self.time = 10
self.read_data = {}
self.meta = brightness_screen
with open("/usr/static/storage_file/config.json","w",encoding="utf-8") as fd:
ujson.dump(self.read_data,fd)
brightness_label_time_text.set_text("{}秒".format(self.time))
- print("reduce_time_level:{}".format(self.read_data))
+ # print("reduce_time_level:{}".format(self.read_data))
def add_time_level(self, e):
self.time+=5
with open("/usr/static/storage_file/config.json","w",encoding="utf-8") as fd:
ujson.dump(self.read_data,fd)
brightness_label_time_text.set_text("{}秒".format(self.time))
- print("add_time_level:{}".format(self.read_data))
+ # print("add_time_level:{}".format(self.read_data))
def show_bar(self):
if self.level == None:
- self.level = 60
- brightness_bar.set_value((100 // 100) * self.level, lv.ANIM.OFF)
+ self.level = 2
+ brightness_bar.set_value((100 // 10) * self.level,lv.ANIM.OFF)
def __init__(self):
super().__init__()
- self.level = 0
+ self.level = 2
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 = 0
+ self.level = 2
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 = 0
+ self.level = 2
self.meta = msgvolume_screen
msgvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
lv.EVENT.CLICKED, None)