#include "jpeglib.h"
#include "jpeg_operation.h"
+#if MICROPY_QPY_CAMERA_LVGL_PREVIEW
#include "lvgl.h"
+#endif
#include "helios_debug.h"
#define CAPTURE_LOG(msg, ...) custom_log("capture", msg, ##__VA_ARGS__)
static preview_obj_t *capture_obj = NULL;
static Helios_CAMConfig camconfig = {0};
+static int camera_angle = CAM_SW_ROTATE_90; // 摄像头旋转角度
#define CHECK_CMAERA_IS_OPEN (capture_obj->is_open ? TRUE:FALSE)
#if MICROPY_QPY_CAMERA_LVGL_PREVIEW
lv_obj_t *camera_img = NULL;
int open_capture = 0;
+lv_img_dsc_t camera_img_dsc;
#endif
char CAM_rotate = 1;
return mp_obj_new_int(1);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_2(camera_set_rotate_obj, camera_set_rotate);
-lv_img_dsc_t camera_img_dsc;
+
void rgb565_decode_handle(void * argv) {
uint8_t *buff_addr = NULL;
int ret = -1;
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(remove_img_obj, remove_img);
#endif
+
+STATIC mp_obj_t mp_capture_set_cam_angle(mp_obj_t self_in, mp_obj_t angle_j) {
+ int cam_angle = mp_obj_get_int(angle_j);
+ if ((cam_angle<CAM_SW_ROTATE_0) || (cam_angle>CAM_SW_ROTATE_270)) {
+ mp_raise_ValueError("Camera rotation Angle is out of range!!!");
+ }
+
+ camera_angle = mp_obj_get_int(angle_j);
+ return mp_obj_new_int(1);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_2(mp_capture_set_cam_angle_obj, mp_capture_set_cam_angle);
/****************************end add********************************/
STATIC mp_obj_t camera_open(mp_obj_t self_in)
self->is_open = TRUE;
}
-#if MICROPY_QPY_CAMERA_LVGL_PREVIEW
Helios_ThreadAttr attr = {0};
if (get_picture_q == 0) {
get_picture_q = Helios_MsgQ_Create(1, sizeof(uint8_t));
mp_raise_ValueError("create interrupt handle task failed\n");
}
}
-#endif
+#if MICROPY_QPY_CAMERA_LVGL_PREVIEW
+ Helios_camera_scandecode_start();
+#endif
return mp_obj_new_int(error);
}
STATIC MP_DEFINE_CONST_FUN_OBJ_1(camera_capture_open_obj, camera_open);
{MP_ROM_QSTR(MP_QSTR_set_img), MP_ROM_PTR(&set_img_obj)},
{MP_ROM_QSTR(MP_QSTR_remove_img), MP_ROM_PTR(&remove_img_obj)},
#endif
+ {MP_ROM_QSTR(MP_QSTR_set_cam_angle), MP_ROM_PTR(&mp_capture_set_cam_angle_obj)},
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_0), MP_ROM_INT(CAM_SW_ROTATE_0) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_90), MP_ROM_INT(CAM_SW_ROTATE_90) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_180), MP_ROM_INT(CAM_SW_ROTATE_180) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_270), MP_ROM_INT(CAM_SW_ROTATE_270) },
};
STATIC MP_DEFINE_CONST_DICT(camCapture_locals_dict, Preview_locals_dict_table);
#if MICROPY_QPY_CAMERA_CAMPREVIEW
#include "helios_camera.h"
-#include "lvgl.h"
#include "jpeg_operation.h"
#include "helios_debug.h"
#endif
#ifdef CONFIG_DECODE_QINGYA
-#if !defined(PLAT_ASR) && !defined(PLAT_ASR_1606)
+#if !defined(PLAT_ASR) && !defined(PLAT_ASR_1606) || defined(PLAT_ASR_1609) || defined(PLAT_ASR_1602)
#include "ql_api_decoder.h"
#endif
#endif
#endif
#ifdef CONFIG_DECODE_QINGYA
-#if defined(PLAT_ASR) || defined(PLAT_ASR_1606)
+#if defined(PLAT_ASR) || defined(PLAT_ASR_1606) || defined(PLAT_ASR_1609) || defined(PLAT_ASR_1602)
void camDecode(unsigned char* raw, int width, int height) {
#define YEND 0xD3
#define PWM_FREQ 10000
#define PWM_DUTY 0.2
+
+
+#define JRTC_ROTATE_0 (0)
+#define JRTC_ROTATE_90 (90)
+#define JRTC_ROTATE_180 (180)
+#define JRTC_ROTATE_270 (270)
+
/** 通话错误值 */
struct jrtc_t
}
STATIC MP_DEFINE_CONST_FUN_OBJ_0(mp_jrtc_get_state_obj, mp_jrtc_get_state);
-
+STATIC mp_obj_t mp_jrtc_set_cam_angle(mp_obj_t angle_j) {
+ int cam_angle = mp_obj_get_int(angle_j);
+ if ((cam_angle<JRTC_ROTATE_0) || (cam_angle>JRTC_ROTATE_270)) {
+ mp_raise_ValueError("Camera rotation Angle is out of range!!!");
+ }
+ _jrtc_cam_angle = cam_angle;
+ return mp_obj_new_int(1);
+}
+STATIC MP_DEFINE_CONST_FUN_OBJ_1(mp_jrtc_set_cam_angle_obj, mp_jrtc_set_cam_angle);
/* 定义的modjrtc本地字典 */
STATIC const mp_rom_map_elem_t jrtc_globals_table[] = {
{MP_ROM_QSTR(MP_QSTR_remove_img), MP_ROM_PTR(&remove_img_obj)},
{MP_ROM_QSTR(MP_QSTR_get_state), MP_ROM_PTR(&mp_jrtc_get_state_obj)},
{MP_ROM_QSTR(MP_QSTR_set_rotate), MP_ROM_PTR(&mp_jrtc_set_rotate_obj)},
+ {MP_ROM_QSTR(MP_QSTR_set_cam_angle), MP_ROM_PTR(&mp_jrtc_set_cam_angle_obj)},
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_0), MP_ROM_INT(JRTC_ROTATE_0) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_90), MP_ROM_INT(JRTC_ROTATE_90) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_180), MP_ROM_INT(JRTC_ROTATE_180) },
+ { MP_ROM_QSTR(MP_QSTR_CAM_ROTATE_270), MP_ROM_INT(JRTC_ROTATE_270) },
};
/* 把modjrtc_globals_table注册到 mp_module_modjrtc_globals里面去 */
REMIND_CH_REST_SEND = "REMIND_CH_REST_SEND"
REMIND_CH_REST_RECV = "REMIND_CH_REST_RECV"
+
+ SLEEP_DATA_SEND = "SleepReport_SEND"
+ SLEEP_DATA_RECV = "SleepReport_RECV"
+
+ SLEEPTIME_SEND = "SLEEPTIME_SEND"
+ SLEEPTIME_RECV = "SLEEPTIME_RECV"
class EVENT:
pcr.add_support(protocol.REMIND_CH_SLEEP_ProtoCol())
pcr.add_support(protocol.REMIND_CH_HOME_ProtoCol())
pcr.add_support(protocol.REMIND_CH_REST_ProtoCol())
+ pcr.add_support(protocol.SLEEP_DATA_ProtoCol())
+ pcr.add_support(protocol.SLEEPTIME_ProtoCol())
sm = protocol.SockManager()
sm.add_support_resolver(pcr)
def server_init(server_type = None):
- #服务器选择1,防走丢,2大锤,3三基同创,4童信,5云米,6荣为
+ #服务器选择1,防走丢,2大锤,3三基同创,4童信,5云米,6荣为 8:ds未知 dey.hinwatch. com:9968 9:183.62.239.121:31869
if server_type == None:
server_type = 1
#EventMesh.debug_log("server_init:server_type:{}".format(server_type))
elif server_type == 99:
d_server_addr = "lab.xcloudtech.com"
d_server_port = 9000
+ elif server_type == 8:
+ d_server_addr = "dev.hxinwatch.com"
+ d_server_port = 9968
+ elif server_type == 9:
+ d_server_addr = "183.62.239.121"
+ d_server_port = 31869
return [d_server_addr,d_server_port,d_md5_key,d_PID]
from queue import Queue
class KA_ProtoCol(ProtoCol):
"""心跳"""
TYPE = "KA"
-
+ count = 0
+ roll_count = 0
def send(self, event, msg):
#"{:04d}-{:02d}-{:02d}".format(*utime.localtime()[0:3])
#[XT*YYYYYYYYYYYYYYY*LEN*KA,日期,步数,翻滚次数,电量百分数,车载里程数(km)] 实例:[XT*334588000000156*0014*KA,120414,50,100,100,100.12]
old_step = step
# step = EventMesh.publish(constants.EVENT.GET_STEP)[0]
# 电池电量百分比
+
bat_tmp = EventMesh.publish("screen_get_battery")
+ sleep_time = EventMesh.publish("get_storage_config","sleep_time")
+ if sleep_time != None:
+ if len(sleep_time) != 0:
+ hour = utime.localtime()[3]
+ min = utime.localtime()[4]
+ cur_time = hour*60+min
+ start_hour = int(sleep_time["start_hour"])
+ start_min = int(sleep_time["start_min"])
+ start_total = start_hour*60+start_min
+
+ end_hour = int(sleep_time["end_hour"])
+ end_min = int(sleep_time["end_min"])
+ end_total = end_hour*60+end_min
+ # EventMesh.debug_log("ka roll_:",hour,min,cur_time,start_total,end_total)
+ if cur_time >= start_total and cur_time <= end_total:
+ self.roll_count = int(hour)
+ if self.roll_count == 0:
+ self.roll_count+=1
+ else:
+ self.roll_count = 0
+ else:
+ self.roll_count = 0
+ else:
+ self.roll_count = 0
+
+
+ # EventMesh.debug_log("ka roll_count:",roll_count)
+
+
battery_caption = bat_tmp[1]
- send_data = "KA,%s,%d,%d,%d"%(date,step,0,battery_caption)
+ send_data = "KA,%s,%d,%d,%d"%(date,step,self.roll_count,battery_caption)
send_len = len(send_data)
send_data = self.PID+"*%s*%04X*%s"%(self.imei,send_len,send_data)
EventMesh.publish(constants.PROTOCOL.WLKEY_SEND)
+# 终端发送:
+# [XT*YYYYYYYYYYYYYYY*LEN*SLEEP_DATA,清醒时间(分钟),浅睡时间(分钟),深睡时间(分钟),日期(年月日)]
+# 实例: [XT*334588000000156*0004*SLEEP_DATA,120,240,360,20221008]
+# 实例表示:上传睡眠数据
+#[XT*334588000000156*0010*SleepReport,2022-02-09,80,2,532,164,164,25,25,25,25,21:45-0-164-155-3,22:00-1-162-155-0,22:15-2-162-155-0]
+class SLEEP_DATA_ProtoCol(ProtoCol):#睡眠时间
+ """
+ 白名单开关
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY,ONOFF] ONOFF: 1:开启,0:关闭,2:30秒后自动接听。
+ 实例:[XT*334588000000156*0008*WLKEY,1]
+ 终端回复
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY]
+ 实例:[XT*334588000000156*0006*WLKEY]
+ """
+ TYPE = "SleepReport"
+
+ def send(self, event, msg):
+ send_data = self.PID+"*%s*0000b*SleepReport"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s,%s]"%(str(MD5_SIGN),send_data,msg)
+ EventMesh.debug_log("SLEEP_DATA:send:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+
+ def recv(self, event, msg):
+
+ EventMesh.debug_log("SLEEP_DATA!!!!!!!!!")
+ # msg = msg[1:-1]
+ # msg_tmp = msg.decode('ascii')
+ # msg_data = msg_tmp.split(',')
+ # EventMesh.debug_log("WLKEY_ProtoCol".format(msg_data[1]))
+ # EventMesh.publish("set_storage_config",["WLKEY",msg_data[1]])
+
+
+ # EventMesh.publish(constants.PROTOCOL.WLKEY_SEND)
+
+class SLEEPTIME_ProtoCol(ProtoCol):#睡眠时间
+ """
+ 白名单开关
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY,ONOFF] ONOFF: 1:开启,0:关闭,2:30秒后自动接听。
+ 实例:[XT*334588000000156*0008*WLKEY,1]
+ 终端回复
+ [XT*YYYYYYYYYYYYYYY*LEN*WLKEY]
+ 实例:[XT*334588000000156*0006*WLKEY]
+ """
+ TYPE = "SLEEPTIME"
+
+ def send(self, event, msg):
+ send_data = self.PID+"*%s*00009*SLEEPTIME"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ EventMesh.debug_log("SLEEPTIME:send:%s"%(data))
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+
+ def recv(self, event, msg):
+ # 实例:[XT*5678901234*0014*SLEEPTIME,23:30-7:30]
+ EventMesh.debug_log("SLEEPTIME!!!!!!!!!")
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_data = msg_tmp.split(',')[1]
+ data = {}
+ if len(msg_data) == 0:
+ EventMesh.publish("set_storage_config",["sleep_time",data])
+ pass
+ else:
+ sleep_start = msg_data.split("-")[0]
+ sleep_end = msg_data.split("-")[1]
+ start_hour = int(sleep_start.split(":")[0])
+ start_min = int(sleep_start.split(":")[1])
+
+ end_hour = int(sleep_end.split(":")[0])
+ end_min = int(sleep_end.split(":")[1])
+ data = {"start_hour":start_hour,"start_min":start_min,"end_hour":end_hour,"end_min":end_min}
+ # EventMesh.debug_log("SLEEPTIME".format(data))
+ EventMesh.publish("set_storage_config",["sleep_time",data])
+ # sleep_time = EventMesh.publish("get_storage_config","sleep_time")
+ # EventMesh.debug_log("sleep_time:{}".format(sleep_time))
+ EventMesh.publish(constants.PROTOCOL.SLEEPTIME_SEND)
class ProtoColResolver(object):
def __init__(self):
alarm_list[idx]["enabled"] = False
with open("/usr/static/storage_file/alarm_msg.json", 'w+',encoding='utf-8') as fd:
ujson.dump(alarm_list,fd)
- EventMesh.publish("set_rtc_alarm")
+
#设置下一个闹钟,定时开关机功能
if 0 :
msg_data = EventMesh.publish("get_boot_off_time")
def exit_alarm_page(self,*arges):
EventMesh.publish("system_sleep_rest")
self.alarm_count+=1
- if self.alarm_count > 5*60:
+ if self.alarm_count > 100:
self.alarm_count = 0
self.aud.stop()
self.timer.stop()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
return
self.aud.play(1, 1, 'U:/static/R_VOLUME_SET_1.mp3') #播放声音
def done_left_to_right(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_right_to_left(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_bottom_to_top(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_top_to_bottom(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_return(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_click(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn8_press(self):
self.close_timer()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
#闹钟列表
style_common_pressed = lv.style_t()
_btn.add_style(alarm_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
_btn.add_flag(lv.obj.FLAG.CLICKABLE)
_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_alarm(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
_btn_label1 = lv.label(_btn)
_btn_label2 = lv.label(_btn)
def initialization(self):
EventMesh.publish("read_alarminjson")
- EventMesh.publish("set_rtc_alarm")
print("n闹钟列表初始化!!")
self.alarm_draw_btn()
def update_show_info(self,event,msg):
- EventMesh.publish("read_alarminjson")
+ # EventMesh.publish("read_alarminjson")
self.timer.start(1*1000,0,self.delay_update)
def delay_update(self,*agrs):
- EventMesh.publish("set_rtc_alarm")
+
self.alarm_draw_btn()
def alarm_draw_btn(self):
- global alarm_list
- self.clock_list = alarm_list
- IFEXIST = ql_fs.path_exists("/usr/static/storage_file/alarm_msg.json")
- if IFEXIST == True:
- if self.clock_list:
+ get_alarm_data = EventMesh.publish("get_storage_config","normal_alarm")
+ if get_alarm_data != None and get_alarm_data != []:
+ if len(get_alarm_data) != 0:
no_add_alarm.add_flag(lv.obj.FLAG.HIDDEN)
num = 0
count = 0
- clock_nums = len(self.clock_list)-2#3-2 = 1 0
+ clock_nums = len(get_alarm_data)#3-2 = 1 0
# for i ,each in enumerate(self.clock_list):
- for i in range(0,self.MXA_clk_num):
+ i=0
+ for i in range(self.MXA_clk_num):
if i >= clock_nums:
self.contact_detail_listt_dict[i]["_btn"].add_flag(lv.obj.FLAG.HIDDEN)
continue
- each = self.clock_list[2+i]
- num = each["idx"]
+ hour = get_alarm_data[i]["hour"]
+ min = get_alarm_data[i]["min"]
+
+ # repeart = get_alarm_data[i]["repeart"]
+
+ day = get_alarm_data[i]["day"]
+
- if count >= 3:
- break
- repeart = each["repeart"]#
- if repeart >= 10:
- continue
print("alarm!!!!!!!!!!")
#_btn = lv.btn(self.alarm_show_list)
self.contact_detail_listt_dict[count]["_btn"].set_size(120,35)
#_btn_label1 = lv.label(_btn)
self.contact_detail_listt_dict[count]["_btn_label1"].set_pos(20, 0)
self.contact_detail_listt_dict[count]["_btn_label1"].set_size(0, 0)
- self.contact_detail_listt_dict[count]["_btn_label1"].set_text(str(num))
+ self.contact_detail_listt_dict[count]["_btn_label1"].set_text(" ")
#_btn_label2 = lv.label(_btn)
self.contact_detail_listt_dict[count]["_btn_label2"].set_pos(10, 0)
self.contact_detail_listt_dict[count]["_btn_label2"].set_size(97, 20)
- self.contact_detail_listt_dict[count]["_btn_label2"].set_text("%02d" % each["hour"] + ":"+"%02d" % each["minute"])
+ self.contact_detail_listt_dict[count]["_btn_label2"].set_text("%02d" % hour + ":"+"%02d" %min)
self.contact_detail_listt_dict[count]["_btn_label2"].set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
- _new_list = sorted(each["days"])
- repeart = each["repeart"]
+ _new_list = sorted(day)
_output = [self.weekdays_list[x] for x in _new_list]
#_btn_label3 = lv.label(_btn)
self.contact_detail_listt_dict[count]["_btn_label3"].set_pos(10, 18)
self.contact_detail_listt_dict[count]["_btn_label3"].set_size(128-8, 20)
- print("_new_list:{} repeart:{}".format(_new_list,repeart))
- if repeart == 1:
+ print("_new_list:{}".format(_new_list))
+ if day == []:
self.contact_detail_listt_dict[count]["_btn_label3"].set_text("一次")
- elif repeart == 2:
+ elif len(day) > 6:
self.contact_detail_listt_dict[count]["_btn_label3"].set_text("每天")
else:
self.contact_detail_listt_dict[count]["_btn_label3"].set_text(",".join(_output))
# print("sw_event_cb ~~~")
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "toolbox"})
# def __init__(self):
# super().__init__()
# self.meta = clk_edit_screen
-# clk_edit_weekday.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_weekday(e)), lv.EVENT.CLICKED, None)
-# clk_edit_time.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_time(e)), lv.EVENT.CLICKED, None)
-# clk_delete_alarm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete_alarm(e)), lv.EVENT.CLICKED, None)
+# clk_edit_weekday.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_weekday(e)), lv.EVENT.SHORT_CLICKED, None)
+# clk_edit_time.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_time(e)), lv.EVENT.SHORT_CLICKED, None)
+# clk_delete_alarm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete_alarm(e)), lv.EVENT.SHORT_CLICKED, None)
# def initialization(self):
# print("hahahahh",self.meta_info["idx"])
def __init__(self):
super().__init__()
self.meta = factorymode_screen
- factorymode_location.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModeLocation"})), lv.EVENT.CLICKED, None)
- factorymode_bat_test.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModeBatTest"})), lv.EVENT.CLICKED, None)
- factorymode_step.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModestep"})), lv.EVENT.CLICKED, None)
+ factorymode_location.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModeLocation"})), lv.EVENT.SHORT_CLICKED, None)
+ factorymode_bat_test.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModeBatTest"})), lv.EVENT.SHORT_CLICKED, None)
+ factorymode_step.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "FactoryModestep"})), lv.EVENT.SHORT_CLICKED, None)
def done_return(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
wechat_obj.add_flag(lv.obj.FLAG.HIDDEN)
wechat_btn.add_flag(lv.obj.FLAG.CLICKABLE)
wechat_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.play_label_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.wechat_list_dict.append({"num":i,"wechat_obj":wechat_obj,"wechat_btn":wechat_btn,"_btn_label1":_btn_label1,"_btn_label2":_btn_label2,"_btn_img":_btn_img})
EventMesh.subscribe("wechat_updata_list_show", self.wechat_updata_list_show)
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
RTALK_SEND = "RTALK_SEND"
RTALK_RECV = "RTALK_RECV"
+ JMEMBERS_SEND = "JMEMBERS_SEND"
+ JMEMBERS_RECV = "JMEMBERS_RECV"
+
+ RINGING_SEND = "RINGING_SEND"
+ RINGING_RECV = "RINGING_RECV"
+
+ HANGUP_SEND = "HANGUP_SEND"
+ HANGUP_RECV = "HANGUP_RECV"
+
+ CALLCANCEL_SEND ="CALLCANCEL_SEND"
+ CALLCANCEL_RECV = "CALLCANCEL_RECV"
+
class EVENT:
CHANNEL_SOCKET_SEND = "CHANNEL_SOCKET_SEND"
START_LOCATION = "START_LOCATION"
ui.add_screen(calculatorScreen())
ui.add_screen(_ui.cameraScreen())
ui.add_screen(_ui.cameraalbumScreen())
- ui.add_screen(_ui.cameraVdieoScreen())
ui.add_screen(_ui.albumPreviewScreen())
ui.add_screen(_ui.cameraFullScreen())
ui.add_screen(_ui.restore_confirmScreen())
ui.add_screen(_ui.down_Screen())
ui.add_screen(_ui.up_Screen())
ui.add_screen(_ui.videolistScreen())
+ ui.add_screen(_ui.VdieoVoiceScreen())
+ ui.add_screen(_ui.VoiceShowScreen())
+ ui.add_screen(_ui.voiceInCallScreen())
from pp_main import allppPopupScreen,delOnePopupScreen,ppListScreen,noppPopupScreen,delppsucessPopupScreen,ppMainScreen,addfaileppPopupScreen,ppMainPopupScreen,addppPopupScreen,addedppPopupScreen,ownaddppPopupScreen
ui.add_screen(ppMainScreen())
TEMP_ProtoCol,DLT_ProtoCol,WT_ProtoCol,UD_ProtoCol,REMIND_ProtoCol, CR_ProtoCol,KA_ProtoCol,FIND_ProtoCol,POWEROFF_ProtoCol,Time_ProtoCol,\
pp_ProtoCol,ppfriends_ProtoCol,revpp_ProtoCol,reqpp_ProtoCol,delpp_ProtoCol,ProtoColResolver,PHL_ProtoCol,MONITOR_ProtoCol,bootoff_ProtoCol,WDSTART_ProtoCol,LOWBAT_ProtoCol,sosHome_dial_ProtoCol,SockManager,NetManager
+ from protocol import CALLCANCEL_ProtoCol,HANGUP_ProtoCol,JMEMBERS_ProtoCol
+
import mgr as mgr
print("init7:{}".format(utime.localtime()))
pcr.add_support(JPREG_ProtoCol())
pcr.add_support(MEMBERS_ProtoCol())
+ pcr.add_support(JMEMBERS_ProtoCol())
pcr.add_support(AGTALK_ProtoCol())
pcr.add_support(CALLING_ProtoCol())
pcr.add_support(RCALLING_ProtoCol())
pcr.add_support(RTALK_ProtoCol())
+ # pcr.add_support(HANGUP_ProtoCol())
EventMesh.publish("load_screen", {"screen": "poweron"})
sm = SockManager()
sm.add_support_resolver(pcr)
if timeSecond != 0:
next_alarm_time = utime.localtime(timeSecond)
machine.RTC().datetime((next_alarm_time[0],next_alarm_time[1],next_alarm_time[2],next_alarm_time[6],next_alarm_time[3],next_alarm_time[4],next_alarm_time[5],0))
- EventMesh.publish("set_rtc_alarm")
+
self.class_count = 0
self.old_temp_time = 0
self.sim_old_count = 0
+
+ self.normal_oldtotalmin = 0
+ self.normal_flag = 0
+ self.normal_count = 0
# #print("hsensor.open_heart:%d\r\n"%(self.hsensor.open_heart()))
print("DeviceInfoManager:3")
self.i2c0 = I2C(I2C.I2C0, I2C.FAST_MODE)
else:
# print("self.class_count",self.class_count)
EventMesh.publish("get_class_in_time_page")
+ self.normal_alarm()
+ #普通闹钟
+ def normal_alarm(self):
+ date_tmp = utime.localtime()
+ time_tmp = utime.mktime(date_tmp)
+ data = RTC().datetime()
+ hour = data[4]
+ min = data[5]
+
+ week = int(data[3])
+
+ date1 = data[1]
+ date2 = data[2]
+ cur_total_min = int(hour)*60+int(min)
+ # EventMesh.debug_log("self.normal_oldtotalmin",self.normal_oldtotalmin,cur_total_min,self.alarm_flag)
+ if self.normal_oldtotalmin == 0:
+ self.normal_oldtotalmin = cur_total_min #549
+ if self.normal_oldtotalmin != cur_total_min: #上次响过的闹钟分钟数不等于当前的分钟数据需要清零否则下一个不会响铃
+ if self.normal_flag == 1:
+ self.normal_flag = 0
+ self.normal_count = 0
+ normal_alarm = []
+ normal_alarm = EventMesh.publish("get_storage_config","normal_alarm")
+ # EventMesh.debug_log("sleep info2",sleep,cur_total_min)
+ if self.normal_flag == 1:#表示闹钟响过清除标志
+ self.normal_count+=1
+ if self.normal_count > 6:
+ self.normal_count = 0
+ self.normal_flag = 0
+ if normal_alarm != None:
+ if len(normal_alarm) != 0 and normal_alarm != []:
+ j = 0
+ for i in range(len(normal_alarm)):
+ # EventMesh.debug_log("normal_alarm normal_alarm 33",normal_alarm,j)
+ normalalarm_hour = normal_alarm[j]["hour"]
+ normalalarm_min = normal_alarm[j]["min"]
+ normalalarm_day = normal_alarm[j]["day"]
+ normalalarm_enale = normal_alarm[j]["enable"]
+ normalalarm_totalmin = int(normalalarm_hour)*60+int(normalalarm_min)
+ # EventMesh.debug_log("wake alarm",normalalarm_hour,sleep_min,sleep_day,sleep_enale,sleep_totalmin,week)
+ if normalalarm_day == []:#单次闹钟只响一次
+ if normalalarm_enale != 0:
+ if normalalarm_totalmin == cur_total_min:#14:00
+ self.normal_count = 0
+ self.normal_flag = 0
+ normal_alarm[j]["enable"] = 0
+
+ # EventMesh.debug_log("wakeup wakeup1",sleep,j)
+ EventMesh.publish("set_storage_config",["normal_alarm",normal_alarm])#删除之后重新保存
+ EventMesh.publish("push_update_alarm_show")
+ # new_data=EventMesh.publish("get_storage_config","normal_alarm")
+ # print("normal wakeup1",new_data,j)
+ EventMesh.publish("load_screen", {"screen": "popup_alarm"})
+ break
+ else:
+ if normalalarm_enale != 0 and (week in normalalarm_day):#记录响过的时间分钟数
+ if normalalarm_totalmin == cur_total_min and self.normal_flag == 0:#14:00
+ self.normal_flag = 1
+ self.normal_count = 0
+ self.normal_oldtotalmin = normalalarm_totalmin
+ EventMesh.publish("load_screen", {"screen": "popup_alarm"})
+ break
+ j+=1
+
+
+
def get_sim_Status(self, event, msg):
return sim.getStatus()
def get_imei(self, topic, msg):
if not self.imei:
self.imei = modem.getDevImei()
- self.imei = "876226002021444"
+ # self.imei = "876226002021444"
+ # self.imei = "860132060129194"
return self.imei
def get_cid(self, topic, msg):
# print("set_storage_key_data2:{}".format(self.config_data[msg[0]]))
EventMesh.publish("publish_message_event_ui",{"func":self.set_storage_save,"data":0})
def set_storage_save(self, data):
- print("set_storage_key_data2:{}".format(self.config_data))
- with open("/usr/static/storage_file/config.json",'w+',encoding="utf-8") as fd:
- ujson.dump(self.config_data,fd)
+ # print("set_storage_key_data2:{}".format(self.config_data))
+ with open("/usr/static/storage_file/config.json",'w+',encoding="utf-8") as fd:
+ ujson.dump(self.config_data,fd)
def get_storage_data(self, event, msg):
# print("get_storage_data:{}".format(self.config_data))
return self.config_data
# print("get_storage_key_data1:{}".format(msg))
b = msg in self.config_data.keys()
if b == True:
- print("get_storage_key_data2:{}".format(self.config_data[msg]))
+ # print("get_storage_key_data2:{}".format(self.config_data[msg]))
return self.config_data[msg]
else :
return None
def __init__(self):
self.timer = osTimer()
# self.newip = "test.iot.socket.thisiot.com"
+ # self.newip = "device.miwitracker.com"
+ # self.newcom = 8505
self.newip = "api.xcloudtech.com"
+ self.newcom = 9000
# "8.134.110.49"#默认大锤服务器 在大锤服务器更改要连接新的服务器地址
# self.newcom = 9999
- self.newcom = 9000
+
# 31379
# self.new_key = "3JyCjsw4ryXKzjzudayY"
self.new_key = "bZld0ALsZTt15tKEZhOlLPgbsO75BLTP"
self.new_pid = "SZKW"
+
+ # self.new_key = ""
+ # self.new_pid = "3G"
+
self.server_sate = 0
# d_server_addr = "api.xcloudtech.com"
hour = data[4]#当前小时
min = data[5]#当前分钟
- cur_week = data[3]#星期几
-
-
-
+ cur_week = int(data[3])#星期几
cur_hour = hour
cur_min = min
- cur_total_min = cur_hour*60+cur_min
+
#print("cur_total_min",cur_total_min)
- start_time1 = 0
- end_time1 = 0
- week1 = []
- enable1 = 0
-
- start_time2 = 0
- end_time2 = 0
- week2 = []
- enable2 = 0
-
- start_time3 = 0
- end_time3 = 0
- week3 = []
- enable3 = 0
-
- start_time4 = 0
- end_time4 = 0
- week4 = []
- enable4 = 0
-
self.class_state = 0
- # {'1': {'enabled': 1, 'end_hour': '17:00', 'start_hour': '10:00', 'week': [1, 2, 3, 4, 5]},
- # '0': {'enabled': 1, 'end_hour': '17:00', 'start_hour': '08:00', 'week': [1, 2, 3, 4, 5]},
- # '3': {'enabled': 1, 'end_hour': '17:00', 'start_hour': '08:00', 'week': [1, 2, 3, 4, 5]},
- # '2': {'enabled': 1, 'end_hour': '17:00', 'start_hour': '08:00', 'week': [1, 2, 3, 4, 5]}}
- # print("self.class_buf time:",self.class_buf)
- if len(self.class_buf) != 0:
- #19:56; 9:16
- data1 = self.class_buf["0"]
- start_time1 = int(data1["start_time"].split(":")[0])*60+int(data1["start_time"].split(":")[1])
- end_time1 = int(data1["end_time"].split(":")[0])*60 + int(data1["end_time"].split(":")[1])
-
- week1 = data1["week"]
- enable1 = data1["enable"]
-
- data2 = self.class_buf["1"]
- start_time2 = int(data2["start_time"].split(":")[0])*60 + int(data2["start_time"].split(":")[1])
- end_time2 = int(data2["end_time"].split(":")[0])*60 + int(data2["end_time"].split(":")[1])
-
- week2 = data2["week"]
- enable2 = data2["enable"]
-
- data3 = self.class_buf["2"]
- start_time3 = int(data3["start_time"].split(":")[0])*60 + int(data3["start_time"].split(":")[1])
- end_time3= int(data3["end_time"].split(":")[0])*60 + int(data3["end_time"].split(":")[1])
-
- week3 = data3["week"]
- enable3 = data3["enable"]
-
- data4 = self.class_buf["3"]
- start_time4= int(data4["start_time"].split(":")[0])*60 + int(data4["start_time"].split(":")[1])
- end_time4 = int(data4["end_time"].split(":")[0])*60 + int(data4["end_time"].split(":")[1])
-
- week4 = data4["week"]
- enable4 = data4["enable"]
- week1_state = 0
- week2_state = 0
- week3_state = 0
- week4_state = 0
- print("week4 ",cur_week,week1,week2,week3,week4,enable1,enable2,enable3,enable4)
- # print("end_time1 ",start_time1,end_time1,start_time2,end_time2,start_time3,end_time3,start_time4,end_time4)
- for i in range(0,7):
- if ((cur_week in week1) and enable1 == 1):
- week1_state = 1
- if ((cur_week in week2) and enable2 == 1):
- week2_state = 1
-
- if ((cur_week in week3) and enable3 == 1):
- week3_state = 1
-
- if ((cur_week in week4) and enable4 == 1):
- week4_state = 1
- # print("week4_state ",cur_week,week1_state,week2_state,week3_state,week4_state,cur_week)
- if week1 != [] or week2 != [] or week3 != [] or week4 != []:
- if ((cur_week in week1) and enable1 == 1 and week1 != []) or ((cur_week in week2) and enable2 == 1 and week2 != []) or\
- ((cur_week in week3) and enable3 == 1 and week3 != []) or ((cur_week in week4) and enable4 == 1 and week4 != []):
- if enable1 == 1 or enable2 == 1 or enable3 == 1 or enable4 == 1:
- if (end_time1 > start_time1):#结束时间大于开始时间否则不通过
- if (cur_total_min <= end_time1 and cur_total_min >= start_time1 and enable1 == 1 and week1_state == 1):#当前时间大于开始小于结束时间而且星期在内,且使能1了
- self.class_state = 1
- print("class_in1")
- break
- if (end_time2 > start_time2):#结束时间大于开始时间否则不通过
- if (cur_total_min <= end_time2 and cur_total_min >= start_time2 and enable2 == 1 and week2_state == 1):#当前时间大于开始小于结束时间而且星期在内,且使能1了
- self.class_state = 1
- print("class_in2")
- break
- if (end_time3 > start_time3):#结束时间大于开始时间否则不通过
- if (cur_total_min <= end_time3 and cur_total_min >= start_time3 and enable3 == 1 and week3_state == 1):#当前时间大于开始小于结束时间而且星期在内,且使能1了
- self.class_state = 1
- print("class_in3")
- break
- if (end_time4 > start_time4):#结束时间大于开始时间否则不通过
- if (cur_total_min <= end_time4 and cur_total_min >= start_time4 and enable4 == 1 and week4_state == 1):#当前时间大于开始小于结束时间而且星期在内,且使能1了
- self.class_state = 1
- print("class_in4")
- break
-
-
- # if (end_time1 > start_time1 and enable1 == 1 and week1_state == 1) or (end_time2 > start_time2 and enable2 == 1 and week2_state == 1) or\
- # (end_time3 > start_time3 and enable3 == 1 and week3_state == 1) or (end_time4 > start_time4 and enable4 == 1 and week4_state == 1):
- # if (cur_total_min <= end_time1 and cur_total_min >= start_time1 and enable1 == 1 and week1_state == 1) or (cur_total_min <= end_time2 and cur_total_min >= start_time2 and enable2 == 1 and week2_state == 1) or\
- # (cur_total_min <= end_time3 and cur_total_min >= start_time3 and enable3 == 1 and week3_state == 1) or (cur_total_min <= end_time4 and cur_total_min >= start_time4 and enable4 == 1 and week4_state == 1):
- # self.class_state = 1
- # print("class_in1")
- # break
+ class_info = EventMesh.publish("get_storage_config","class_alarm")
+ # print("10s class_inf o",class_info)
+ if class_info != None and class_info != []:
+ if len(class_info) != 0:
+ i = 0
+ for i in range(len(class_info)):
+ start_hour = int(class_info[i]["start_hour"])
+ start_min = int(class_info[i]["start_min"])
+ end_hour = int(class_info[i]["end_hour"])
+ end_min = int(class_info[i]["end_min"])
+ enable = int(class_info[i]["enable"])
+ day = class_info[i]["day"]
+
+ start_total_min = start_hour*60+start_min
+ end_total_min = end_hour*60+end_min
+
+ cur_total_min = cur_hour*60+cur_min
+
+ if enable != 0 and cur_week in day:#使能并且星期在内 判断时间是否大于开始时间并且小于结束时间
+ if cur_total_min >= start_total_min and cur_total_min <= end_total_min:#
+ self.class_state = 1
+ print("enter class")
+ break
return self.class_state
def get_class_in_time_page(self, event, msg):
else:
if screen_NAME != None:
if screen_NAME == "class_time":
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
ppmain_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
ppmain_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
ppmain_name.add_event_cb(lambda e: EventMesh.callback_wrapper(self.addpp(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
delpp_img = lv.img(ppmain_screen)
delpp_img.set_pos(5, 60)
delppmain_name.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
delppmain_name.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
delppmain_name.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delpp_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = ppmain_screen
_btn.add_style(pp_main_default, lv.PART.MAIN|lv.STATE.DEFAULT)
_btn.add_flag(lv.obj.FLAG.CLICKABLE)
_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_pp(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.edit_pp(e)),
lv.EVENT.PRESSING, None)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.timer_out=osTimer()
self.count = 0
self.is_sliding = 0
+ self.meta_type = "popup"
def initialization(self):
self.is_sliding = 0
delComfriPopup_call_label1.set_text(" ")
delComfriPopup_call_label1.add_flag(lv.obj.FLAG.CLICKABLE)
delComfriPopup_call_label1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
delComfriPopup_call_label1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
lv.EVENT.PRESSING, None)
delComfriPopup_call_label2.set_text(" ")
delComfriPopup_call_label2.add_flag(lv.obj.FLAG.CLICKABLE)
delComfriPopup_call_label2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
delComfriPopup_call_label2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),
lv.EVENT.PRESSING, None)
delComfriPopup_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
delComfriPopup_call_label.add_flag(lv.obj.FLAG.CLICKABLE)
delComfriPopup_call_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
delComfriPopup_call_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
lv.EVENT.PRESSING, None)
delComfriPopup_call_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
delconcelPopup_call_label.set_text("取消")
delconcelPopup_call_label.add_flag(lv.obj.FLAG.CLICKABLE)
delconcelPopup_call_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
delconcelPopup_call_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),
lv.EVENT.PRESSING, None)
delconcelPopup_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
ppPopup_imgbtn.set_pos(14, 5)
self.meta = ppPopup_screen
- EventMesh.publish(constants.EVENT.START_LOCATION,constants.PROTOCOL.PP_SEND) #开始WT定位
+ EventMesh.publish(constants.EVENT.START_LOCATION,constants.PROTOCOL.PP_SEND) #开始碰碰
self.timer.start(1*1000,1,self.fun)
self.timer_out.start(30*1000,0,self.timeout_fun)
def fun(self,*argc):
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
EventMesh.publish("set_weather_data",[msg_date,msg_time,msg_weather_content,msg_type,msg_temp,msg_min_temp,msg_max_temp,msg_city,1])
EventMesh.publish("updata_weather_show")
-
-class REMIND_ProtoCol(ProtoCol):
- """闹钟数据"""
+class REMIND_ProtoCol(ProtoCol):#普通闹钟
+ """
+
+ 平台发送:
+ [XT*YYYYYYYYYYYYYYY*LEN*REMIND,,时间1-开关,时间2-开关,周几]
+ 实例:[XT*334588000000156*0008*REMIND,,时间1-开关,时间2-开关,周几]
+ 终端回复:
+ [XT*YYYYYYYYYYYYYYY*LEN*REMIND]
+ """
TYPE = "REMIND"
-
-
+
def send(self, event, msg):
-
- # [SZKW*867387060319491*0008*REMIND]
- send_data = EventMesh.publish("get_new_pid")+"*%s*0006*REMIND"%(self.imei)
+ send_data = self.PID+"*%s*0006*REMIND"%(self.imei)
MD5_SIGN = self.pack_MD5_head(send_data)
data = "[%s%s]"%(str(MD5_SIGN),send_data)
- # print("REMIND_ProtoCol:send:%s"%(data))
+ #Wechat_log("POWEROFF_ProtoCol:send:%s"%(data))
# 通过socket发送到服务器端
EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
def recv(self, event, msg):
- """
- @param event: 闹钟数据下发
- @param msg: 接收到的下行数据
- """
-
- # b'SZKW*860132060004322*0035*REMIND,23-04-06,14:41:06,b6e0d4c6,1,27,-1,40,6DF157335E02'
- # print("REMIND_ProtoCol RECV msg:%s"%(msg))
- alarm_new = []
-
+ # SZKW*860132060346475*0013*REMIND_CH_MEDICINE2,4-1
msg = msg[1:-1]
msg_tmp = msg.decode('ascii')
- msg_tmp = msg_tmp.split('REMIND,')
- msg_tmp = msg_tmp[1]
-
- alarm_new = EventMesh.publish("read_alarminjson")
- # print("alarm_list:{} msg_tmp:{}",alarm_new,msg_tmp)
- k=1
+ msg_tmp_new = msg_tmp.split('REMIND,')[1]
count = 0
+ for i in str(msg_tmp_new):
+ # print("i",i)
+ if i == ",":
+ count+=1
- for i in range(len(str(msg_tmp))):#寻找有多少个,号
- if msg_tmp[i] == ',':#, , ,
- k+=1
- # if len(alarm_new) < 5 :
- # alarm_new = []
- # for i in range(5):
- # alarm_new.append({'hour': 8, 'repeart': 10, 'idx': i, 'enabled': 0, 'days': [], 'minute': 39})
- # print("msg_tmp",len(msg_tmp),msg_tmp)
- if len(msg_tmp) > 0:
- if len(alarm_new) > 2:
- for i in range(0,len(alarm_new)-2):
- # print("alarm_new_tmp",alarm_new)
- del alarm_new[2]
- # print("alarm_new:{}",alarm_new)
- if k > 3:
- k = 3
-
- for j in range(2,2+k):#0 1是开关机,234是闹钟
- alarm_day = []
- alarm_week = []
- alarm_total_data = []
- alarm_day_num = 1
- # print("j!!!!!!!!!!",j)
- if k == 1:
- if len(msg_tmp) != 0:
- alarm_data = msg_tmp.split('-')#-作为分隔符
- alarm_switch = int(alarm_data[1])#开关
- alarm_day_num = int(alarm_data[2])#天
- alarm_time = alarm_data[0]#时间
- alarm_time_tmp = alarm_time.split(':')#冒号分隔时间 时 分
- alarm_time_hour = int(alarm_time_tmp[0])
- alarm_time_min = int(alarm_time_tmp[1])
- if alarm_day_num == 2:#每一天
- alarm_day = [1,2,3,4,5,6,0]
- elif alarm_day_num == 3:#自定义
+ if count != 0:
+ count+=1
+ normal_alarm_save = []
+ # # ("handler -> b'[SZKW*860132060346475*001C*REMIND,08:00-1-1,,]'",)
+ # b'[SZKW*860132060346475*001B*REMIND,08:00-1-1,,]'",)
+ # medicine_alarmday = str(msg_data[4])
+ # alarmday=[]
+ alarm_day = []
+ alarm_switch = 0
+
+ print("count",count,msg_tmp_new)
+ if count >= 3:
+ count = 3
+ for i in range(0,count):#默认是三个时间多了也不保存
+ alarm_day = []
+ alarm_data = str(msg_tmp_new.split(',')[i])
+ # print("i",i,sleep_data)
+ if len(alarm_data) != 0:
+ b = alarm_data.find('-')
+ if b != -1:
+ alarm_time = alarm_data.split('-')[0]#-作为分隔符
+ alarm_switch = int(alarm_data.split('-')[1])#开关
+ alarm_repeat = int(alarm_data.split('-')[2])#是单次还是每天 还是自定义
+
+ alarm_hour = int(alarm_time.split(":")[0])#时间
+ alarm_min = int(alarm_time.split(":")[1])#冒号分隔时间 时 分
+
+
+ if alarm_repeat == 2:#每一天
+ alarm_day = [0,1,2,3,4,5,6]
+ elif alarm_repeat == 3:#自定义
+ alarm_day_tmp = alarm_data.split('-')[3]#-作为分隔符
+ if len(str(alarm_day_tmp)) != 0:
for i in range(0,7):
- if alarm_week[i] != '0':
+ if alarm_day_tmp[i] != '0':
alarm_day.append(i)
- if alarm_day_num == 0:
- alarm_day_num = 1
- alarm_new.append({"idx": j, "hour": alarm_time_hour, "minute": alarm_time_min, "days":alarm_day, "enabled": alarm_switch,"repeart":alarm_day_num})
- else:
- if len(msg_tmp) != 0:
- alarm_total_data = msg_tmp.split(',')[count]
- count+=1
- b = alarm_total_data.find('-')
- if b != -1:
- alarm_data = alarm_total_data.split('-')#-作为分隔符
- alarm_switch = int(alarm_data[1])#开关
- alarm_day_num = int(alarm_data[2])#天
- alarm_time = alarm_data[0]#时间
- alarm_time_tmp = alarm_time.split(':')#冒号分隔时间 时 分
- alarm_time_hour = int(alarm_time_tmp[0])
- alarm_time_min = int(alarm_time_tmp[1])
- if alarm_day_num == 2:#每一天
- alarm_day = [1,2,3,4,5,6,0]
- elif alarm_day_num == 3:#自定义
- for i in range(0,7):
- if alarm_week[i] != '0':
- alarm_day.append(i)
- if alarm_day_num == 0:
- alarm_day_num = 1
- alarm_new.append({"idx": j, "hour": alarm_time_hour, "minute": alarm_time_min, "days":alarm_day, "enabled": alarm_switch,"repeart":alarm_day_num})
+ else:#单次 1
+ alarm_day=[]
+ # if alarm_switch = 0:
+ normal_alarm_save.append({"hour":alarm_hour,"min":alarm_min,"day":alarm_day,"enable":alarm_switch})
+
+ EventMesh.publish("set_storage_config",["normal_alarm",normal_alarm_save])
+ normal_alarm = EventMesh.publish("get_storage_config","normal_alarm")
+
+ print("recv REMIND_SEND:{} normal_alarm ;{}".format(msg,normal_alarm))
+
+ EventMesh.publish(constants.PROTOCOL.REMIND_SEND)
+ EventMesh.publish("clear_normal_alarm")
+ EventMesh.publish("push_update_alarm_show")
+
+
+
+# class REMIND_ProtoCol(ProtoCol):
+# """闹钟数据"""
+# TYPE = "REMIND"
+
+
+# def send(self, event, msg):
+
+# # [SZKW*867387060319491*0008*REMIND]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0006*REMIND"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s]"%(str(MD5_SIGN),send_data)
+# # print("REMIND_ProtoCol:send:%s"%(data))
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND, data)
+
+# def recv(self, event, msg):
+# """
+# @param event: 闹钟数据下发
+# @param msg: 接收到的下行数据
+# """
+
+# # b'SZKW*860132060004322*0035*REMIND,23-04-06,14:41:06,b6e0d4c6,1,27,-1,40,6DF157335E02'
+# # print("REMIND_ProtoCol RECV msg:%s"%(msg))
+# alarm_new = []
+
+# msg = msg[1:-1]
+# msg_tmp = msg.decode('ascii')
+# msg_tmp = msg_tmp.split('REMIND,')
+# msg_tmp = msg_tmp[1]
+
+# alarm_new = EventMesh.publish("read_alarminjson")
+# # print("alarm_list:{} msg_tmp:{}",alarm_new,msg_tmp)
+# k=1
+# count = 0
+
+# for i in range(len(str(msg_tmp))):#寻找有多少个,号
+# if msg_tmp[i] == ',':#, , ,
+# k+=1
+# # if len(alarm_new) < 5 :
+# # alarm_new = []
+# # for i in range(5):
+# # alarm_new.append({'hour': 8, 'repeart': 10, 'idx': i, 'enabled': 0, 'days': [], 'minute': 39})
+# # print("msg_tmp",len(msg_tmp),msg_tmp)
+# if len(msg_tmp) > 0:
+# if len(alarm_new) > 2:
+# for i in range(0,len(alarm_new)-2):
+# # print("alarm_new_tmp",alarm_new)
+# del alarm_new[2]
+# # print("alarm_new:{}",alarm_new)
+# if k > 3:
+# k = 3
+
+# for j in range(2,2+k):#0 1是开关机,234是闹钟
+# alarm_day = []
+# alarm_week = []
+# alarm_total_data = []
+# alarm_day_num = 1
+# # print("j!!!!!!!!!!",j)
+# if k == 1:
+# if len(msg_tmp) != 0:
+# alarm_data = msg_tmp.split('-')#-作为分隔符
+# alarm_switch = int(alarm_data[1])#开关
+# alarm_day_num = int(alarm_data[2])#天
+# alarm_time = alarm_data[0]#时间
+# alarm_time_tmp = alarm_time.split(':')#冒号分隔时间 时 分
+# alarm_time_hour = int(alarm_time_tmp[0])
+# alarm_time_min = int(alarm_time_tmp[1])
+# if alarm_day_num == 2:#每一天
+# alarm_day = [1,2,3,4,5,6,0]
+# elif alarm_day_num == 3:#自定义
+# for i in range(0,7):
+# if alarm_week[i] != '0':
+# alarm_day.append(i)
+# if alarm_day_num == 0:
+# alarm_day_num = 1
+# alarm_new.append({"idx": j, "hour": alarm_time_hour, "minute": alarm_time_min, "days":alarm_day, "enabled": alarm_switch,"repeart":alarm_day_num})
+# else:
+# if len(msg_tmp) != 0:
+# alarm_total_data = msg_tmp.split(',')[count]
+# count+=1
+# b = alarm_total_data.find('-')
+# if b != -1:
+# alarm_data = alarm_total_data.split('-')#-作为分隔符
+# alarm_switch = int(alarm_data[1])#开关
+# alarm_day_num = int(alarm_data[2])#天
+# alarm_time = alarm_data[0]#时间
+# alarm_time_tmp = alarm_time.split(':')#冒号分隔时间 时 分
+# alarm_time_hour = int(alarm_time_tmp[0])
+# alarm_time_min = int(alarm_time_tmp[1])
+# if alarm_day_num == 2:#每一天
+# alarm_day = [1,2,3,4,5,6,0]
+# elif alarm_day_num == 3:#自定义
+# for i in range(0,7):
+# if alarm_week[i] != '0':
+# alarm_day.append(i)
+# if alarm_day_num == 0:
+# alarm_day_num = 1
+# alarm_new.append({"idx": j, "hour": alarm_time_hour, "minute": alarm_time_min, "days":alarm_day, "enabled": alarm_switch,"repeart":alarm_day_num})
- # print("alarm_new end:{}",alarm_new)
+# # print("alarm_new end:{}",alarm_new)
- with open("/usr/static/storage_file/alarm_msg.json", 'w',encoding='utf-8') as fd:
- ujson.dump(alarm_new,fd)
- EventMesh.publish("push_update_alarm_show")
+# with open("/usr/static/storage_file/alarm_msg.json", 'w',encoding='utf-8') as fd:
+# ujson.dump(alarm_new,fd)
+# EventMesh.publish("push_update_alarm_show")
- # EventMesh.publish("add_alarm",[0,msg_tmp])
- EventMesh.publish(constants.PROTOCOL.REMIND_SEND)
+# # EventMesh.publish("add_alarm",[0,msg_tmp])
+# EventMesh.publish(constants.PROTOCOL.REMIND_SEND)
@param event:
@param msg: 接收到的下行数据
"""
- class_in_buf = {"1": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []},\
- "0": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}, \
- "3": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}, \
- "2": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}}
-
+ # [XT*YYYYYYYYYYYYYYY*LEN*SILENCETIME2,时间段-开关-自定义日期,时间段-开关-自定义日期,时
+ # 间段-开关-自定义日期]
+ class_in_buf = []
+ # b'[SZKW*860132060128139*004E*SILENCETIME2,00:00-09:00-1-0111110,15:00-22:00-0-1111111,00:00-23:00-0-0100001]'
# class_in_buf.append({'start_hour': "16:54", 'week': [], 'idx': 0, 'enabled': 0, 'end_hour': "18:39"})
msg = msg[1:-1]
msg_tmp = msg.decode('ascii')
- msg_tmp_d = str(msg_tmp.split('SILENCETIMEFS,')[1])
+ msg_tmp_d = str(msg_tmp.split('SILENCETIME2,')[1])
- count = 1
+ count = 0
k = 0
-
+ i = 0
for i in range(len(str(msg_tmp_d))):
if msg_tmp_d[i] == ',':
count+=1
- if count > 4:
- count = 4
- if len(msg_tmp_d) > 0:
- for x in range(count):#21:10-7:30@0111110,21:10-7:30@0111110,21:10-7:30@0111110,21:10-7:30@0111110
- week = []
- if x >= 4:
- break
- if count > 1:
- # 0100001
- msg_data = msg_tmp_d.split(',')[x]
- print("SILENCETIMEFS count",msg_data)
- b = msg_data.find('-')
- if b != -1:
- data = msg_data.split('-')#-作为分隔符
- time = data[1].split('@')#@作为分隔符
- print("data",data,time,data[0],time[0])
- start_time = data[0]#开始时间
- end_time = time[0]#结束时间
- enable = 1
- week_day = time[1]
- for i in range(0,7):
- if week_day[i] != '0':
- week.append(i)
- tmp={}
- tmp["start_time"] = start_time
- tmp["end_time"] = end_time
- tmp["week"] = week
- tmp["enable"] = enable
- class_in_buf["{}".format(x)] = tmp
- else:
- if len(msg_tmp_d) != 0:
- b = msg_tmp_d.find('-')
- if b != -1:
-
- data = msg_tmp_d.split('-')#-作为分隔符
- time = data[1].split('@')#@作为分隔符
- print("data",data,time,data[0],time[0])
- start_time = data[0]#开始时间
- end_time = time[0]#结束时间
- enable = 1
- week_day = time[1]
- for i in range(0,7):
- if week_day[i] != '0':
- week.append(i)
- tmp={}
- tmp["start_time"] = start_time
- tmp["end_time"] = end_time
- tmp["week"] = week
- tmp["enable"] = enable
- class_in_buf["{}".format(x)] = tmp
+
+ count+=1
+ if count >= 3:
+ count = 3
+ print("class count",count)
+ for i in range(0,count):#00:00-09:00-1-0111110,15:00-22:00-0-1111111,00:00-23:00-0-0100001默认是三个时间多了也不保存
+ alarm_day = []
+ alarm_data = str(msg_tmp_d.split(',')[i])
+ # print("i",i,sleep_data)
+ if len(alarm_data) != 0:
+ b = alarm_data.find('-')
+ if b != -1:
+ start_time = alarm_data.split('-')[0]#-作为分隔符
+ end_time = alarm_data.split('-')[1]#-作为分隔符
+ alarm_enable = int(alarm_data.split('-')[2])#是单次还是每天 还是自定义
- with open("/usr/static/storage_file/class_msg.json", 'w+',encoding='utf-8') as fd:
- ujson.dump(class_in_buf,fd)
+ start_hour = int(start_time.split(":")[0])#时间
+ start_min = int(start_time.split(":")[1])#冒号分隔时间 时 分
+ end_hour = int(end_time.split(":")[0])#时间
+ end_min = int(end_time.split(":")[1])#冒号分隔时间 时 分
+
+ alarm_day_tmp = alarm_data.split('-')[3]#-作为分隔符
+ if len(str(alarm_day_tmp)) != 0:
+ for i in range(0,7):
+ if alarm_day_tmp[i] != '0':
+ alarm_day.append(i)
+ # if alarm_switch = 0:
+ class_in_buf.append({"start_hour":start_hour,"start_min":start_min,"end_hour":end_hour,"end_min":end_min,"day":alarm_day,"enable":alarm_enable})
+
+ EventMesh.publish("set_storage_config",["class_alarm",class_in_buf])
+ class_alarm = EventMesh.publish("get_storage_config","class_alarm")
+ print("class_alarm",class_alarm)
EventMesh.publish("set_class_time", class_in_buf)
- EventMesh.publish(constants.PROTOCOL.SILENCETIMEFS_SEND)
+ EventMesh.publish(constants.PROTOCOL.SILENCETIME2_SEND)
EventMesh.publish("get_class_in_time_page")
@param event:
@param msg: 接收到的下行数据
"""
- class_in_buf = {"1": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []},\
- "0": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}, \
- "3": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}, \
- "2": {'enable': 0, 'end_time': '00:00', 'start_time': '00:00', 'week': []}}
-
+ # [XT*YYYYYYYYYYYYYYY*LEN*SILENCETIME2,时间段-开关-自定义日期,时间段-开关-自定义日期,时
+ # 间段-开关-自定义日期]
+ class_in_buf = []
+ # b'[SZKW*860132060128139*004E*SILENCETIME2,00:00-09:00-1-0111110,15:00-22:00-0-1111111,00:00-23:00-0-0100001]'
# class_in_buf.append({'start_hour': "16:54", 'week': [], 'idx': 0, 'enabled': 0, 'end_hour': "18:39"})
msg = msg[1:-1]
msg_tmp = msg.decode('ascii')
msg_tmp_d = str(msg_tmp.split('SILENCETIME2,')[1])
- count = 1
+ count = 0
k = 0
-
+ i = 0
for i in range(len(str(msg_tmp_d))):
if msg_tmp_d[i] == ',':
count+=1
- if count > 4:
- count = 4
- for x in range(count):#08:00-17:00-1-0111110,08:00-17:00-1-0111110
- week = []
- if count > 1:
- msg_data = msg_tmp_d.split(',')[k]
- # print("SILENCETIME count",msg_data)
- k+= 1
- b = msg_data.find('-')
- if b != -1:
- data = msg_data.split('-')#-作为分隔符
- start_time = data[0]
- end_time = data[1]
- enable = int(data[2])
- week_day = data[3]
- for i in range(0,7):
- if week_day[i] != '0':
- week.append(i)
- tmp={}
- tmp["start_time"] = start_time
- tmp["end_time"] = end_time
- tmp["week"] = week
- tmp["enable"] = enable
- class_in_buf["{}".format(x)] = tmp
- else:
- b = msg_tmp_d.find('-')
+
+ count+=1
+ if count >= 3:
+ count = 3
+ print("class count",count)
+ for i in range(0,count):#00:00-09:00-1-0111110,15:00-22:00-0-1111111,00:00-23:00-0-0100001默认是三个时间多了也不保存
+ alarm_day = []
+ alarm_data = str(msg_tmp_d.split(',')[i])
+ # print("i",i,sleep_data)
+ if len(alarm_data) != 0:
+ b = alarm_data.find('-')
if b != -1:
- data = msg_tmp_d.split('-')#-作为分隔符
- start_time = data[0]
- end_time = data[1]
- enable = int(data[2])
- week_day = data[3]
- for i in range(0,7):
- if week_day[i] != '0':
- week.append(i)
- tmp={}
- tmp["start_time"] = start_time
- tmp["end_time"] = end_time
- tmp["week"] = week
- tmp["enable"] = enable
- class_in_buf["{}".format(x)] = tmp
-
- with open("/usr/static/storage_file/class_msg.json", 'w+',encoding='utf-8') as fd:
- ujson.dump(class_in_buf,fd)
+ start_time = alarm_data.split('-')[0]#-作为分隔符
+ end_time = alarm_data.split('-')[1]#-作为分隔符
+ alarm_enable = int(alarm_data.split('-')[2])#是单次还是每天 还是自定义
+ start_hour = int(start_time.split(":")[0])#时间
+ start_min = int(start_time.split(":")[1])#冒号分隔时间 时 分
+
+ end_hour = int(end_time.split(":")[0])#时间
+ end_min = int(end_time.split(":")[1])#冒号分隔时间 时 分
+
+ alarm_day_tmp = alarm_data.split('-')[3]#-作为分隔符
+ if len(str(alarm_day_tmp)) != 0:
+ for i in range(0,7):
+ if alarm_day_tmp[i] != '0':
+ alarm_day.append(i)
+ # if alarm_switch = 0:
+ class_in_buf.append({"start_hour":start_hour,"start_min":start_min,"end_hour":end_hour,"end_min":end_min,"day":alarm_day,"enable":alarm_enable})
+
+ EventMesh.publish("set_storage_config",["class_alarm",class_in_buf])
+ class_alarm = EventMesh.publish("get_storage_config","class_alarm")
+ # print("class_alarm",class_alarm)
EventMesh.publish("set_class_time", class_in_buf)
EventMesh.publish(constants.PROTOCOL.SILENCETIME2_SEND)
EventMesh.publish(constants.PROTOCOL.SRVTEXTMSG_SEND,[msg_x,msg_id])
-#视频通话
-# [XT*YYYYYYYYYYYYYYY*LEN*JPREG]
-# 实例:
-# [XT*334588000000156*0004*JPREG]
-# 平台回复:
-# [XT*设备ID*LEN*JPREG,账号(整型)]
-# 实例:[XT*334588000000156*0010*JPREG,1087654321]
+
+
+# #小见平台视频通话
+# # [XT*YYYYYYYYYYYYYYY*LEN*JPREG]
+# # 实例:
+# # [XT*334588000000156*0004*JPREG]
+# # 平台回复:
+# # [XT*设备ID*LEN*JPREG,账号(整型)]
+# # 实例:[XT*334588000000156*0010*JPREG,1087654321]
class JPREG_ProtoCol(ProtoCol):#登入注册
""""""
TYPE = "JPREG"
print("JPREG!!!!!!!!!!!!!",msg)
# EventMesh.publish(constants.PROTOCOL.JPREG_SEND)
-# (声网,佰锐的账号是整型)
-# [XT*YYYYYYYYYYYYYYY*LEN*MEMBERS]
-# 实例:[XT*334588000000156*0007*MEMBERS]
-# 平台回复:[XT*设备ID*LEN*MEMBERS,账号1,昵称1,电话1,账号2,昵称2,电话2.....]
-# 实例:
-# [XT*334588000000156*003F*MEMBERS,d3e2f759f9d5af3858f3530,爸爸,13662313580,妈妈,555]
-# 以上数据部分使用Unicode编码,最终上面示例传到服务端将是:
+# # (声网,佰锐的账号是整型)
+# # [XT*YYYYYYYYYYYYYYY*LEN*MEMBERS]
+# # 实例:[XT*334588000000156*0007*MEMBERS]
+# # 平台回复:[XT*设备ID*LEN*MEMBERS,账号1,昵称1,电话1,账号2,昵称2,电话2.....]
+# # 实例:
+# # [XT*334588000000156*003F*MEMBERS,d3e2f759f9d5af3858f3530,爸爸,13662313580,妈妈,555]
+# # 以上数据部分使用Unicode编码,最终上面示例传到服务端将是:
class MEMBERS_ProtoCol(ProtoCol):#获取账号列表
""""""
EventMesh.publish("video_updata_list_show")
# EventMesh.publish(constants.PROTOCOL.MEMBERS_SEND)
-# [X*Y*LEN*CALLING,呼叫者id,会议id,通话类型,Token]
+# # [X*Y*LEN*CALLING,呼叫者id,会议id,通话类型,Token]
-# 设备回复
-# [X*Y*LEN*CALLING,音视频状态]
-# 音视频状态:为0表示正常可通讯状态,否则填上用音视频返回的状态码,比如200,如果未获取到返回状态码,则填1
+# # 设备回复
+# # [X*Y*LEN*CALLING,音视频状态]
+# # 音视频状态:为0表示正常可通讯状态,否则填上用音视频返回的状态码,比如200,如果未获取到返回状态码,则填1
class CALLING_ProtoCol(ProtoCol):#app发起视频通话
""""""
TYPE = "CALLING"
@param event:
@param msg: 接收到的下行数据
"""
- # b'[SZKW*867387060319166*000A*KEYBRD]'
+ # b'[SZKW*867387060319166*000A*CALLING]'
print("CALLING!!!!!!!!!!!!!",msg)
msg = msg[1:-1]
msg_tmp = msg.decode('ascii')
EventMesh.publish("set_vedio_call_type", call_type)#
EventMesh.publish("set_vedio_tokens_data", tokens_data)#
+ get_ui = EventMesh.publish("get_UI_high_priority")
+ if get_ui == None:
+ get_ui = 0
+
+ if get_ui == 1:#不能通话 因为在打电话或者禁用时间段
+ EventMesh.publish(constants.PROTOCOL.CALLING_SEND,1)
+ else:
+ EventMesh.publish(constants.PROTOCOL.CALLING_SEND,0)
+ if int(call_type) == 1:#视频通话
+ EventMesh.publish("load_screen", {"screen": "vedio_incall"})
+ # EventMesh.publish("load_screen", {"screen": "vedio_incall","meta":"1"})
+ pass
+ else:
+ EventMesh.publish("load_screen", {"screen": "voice_incall"})
+ # EventMesh.publish("load_screen", {"screen": "vedio_incall","meta":"0"})#语音界面
+ pass
+
- # EventMesh.publish("set_vedio_infor",[call_id,meet_id,call_type,tokens_data])#
- EventMesh.publish(constants.PROTOCOL.CALLING_SEND,0)
- EventMesh.publish("load_screen", {"screen": "vedio_incall"})
-
-# [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,呼叫者id,会议id/声网频道名(没有则留空,但位置保留),音频还是视频(0为音频,1为视频)]
-# 实例:
-# [XT*334588000000156*0007*RCALLING,d3e2f759f9d5af3858f3530b,,0]
-# 终端回复:
-# [XT*设备ID*LEN*RCALLING]
-# 实例:[XT*334588000000156*0009*RCALLING]
-#
+# # [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,呼叫者id,会议id/声网频道名(没有则留空,但位置保留),音频还是视频(0为音频,1为视频)]
+# # 实例:
+# # [XT*334588000000156*0007*RCALLING,d3e2f759f9d5af3858f3530b,,0]
+# # 终端回复:
+# # [XT*设备ID*LEN*RCALLING]
+# # 实例:[XT*334588000000156*0009*RCALLING]
+# #
class RCALLING_ProtoCol(ProtoCol):#设备拒接接听
""""""
TYPE = "RCALLING"
msg_tmp_d = msg_tmp.split(',')
screen_NAME = EventMesh.publish("get_screen_NAME")
if screen_NAME != None:
- if screen_NAME == "video_outcall":
+ if screen_NAME == "vedioing" or screen_NAME == "voiceing" or screen_NAME == "video_outcall" or screen_NAME == "vedio_incall" or screen_NAME == "voice_incall":
# EventMesh.publish("close_jrtc_event")
EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
+ EventMesh.publish("return_prev_screen")
+
+
+
+#云米视频通话
+# [XT*YYYYYYYYYYYYYYY*LEN*JPREG]
+# 实例:
+# [XT*334588000000156*0004*JPREG]
+# 平台回复:
+# [XT*设备ID*LEN*JPREG,账号(整型)]
+# 实例:[XT*334588000000156*0010*JPREG,1087654321]
+# class JPREG_ProtoCol(ProtoCol):#登入注册
+# """"""
+# TYPE = "JPREG"
+# def send(self, event, msg):
+
+# # [XT*334588000000156*0005*WLKEY]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0005*JPREG"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s]"%(str(MD5_SIGN),send_data)
+# # print("WLKEY:data:%s"%(data))
+# # print("WLKEY!!!!!!!!!!!!!")
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+# def recv(self, event, msg):
+# """
+# @param event:
+# @param msg: 接收到的下行数据
+# """
+# # b'[SZKW*867387060319166*000A*KEYBRD]'
+# print("JPREG!!!!!!!!!!!!!",msg)
+# # EventMesh.publish(constants.PROTOCOL.JPREG_SEND)
+
+# (声网,佰锐的账号是整型)
+# [XT*YYYYYYYYYYYYYYY*LEN*MEMBERS]
+# 实例:[XT*334588000000156*0007*MEMBERS]
+# 平台回复:[XT*设备ID*LEN*MEMBERS,账号1,昵称1,电话1,账号2,昵称2,电话2.....]
+# 实例:
+# [XT*334588000000156*003F*MEMBERS,d3e2f759f9d5af3858f3530,爸爸,13662313580,妈妈,555]
+# 以上数据部分使用Unicode编码,最终上面示例传到服务端将是:
+
+class JMEMBERS_ProtoCol(ProtoCol):#获取账号列表
+ """"""
+ TYPE = "JMEMBERS"
+ def send(self, event, msg):
+ # [XT*334588000000156*0005*WLKEY]
+ send_data = EventMesh.publish("get_new_pid")+"*%s*0008*JMEMBERS"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ # print("WLKEY:data:%s"%(data))
+ # print("WLKEY!!!!!!!!!!!!!")
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*876226002021444*0048*MEMBERS,0036003900350031003800330032002C563F563FD83CDF410020D83CDF42002C]'
+ print("JMEMBERS!!!!!!!!!!!!!",msg)
+ msg = msg[1:-1]
+ msg_tmp = msg.decode('ascii')
+ msg_tmp = msg_tmp.split(',')
+
+ videobook = {}
+ msg_tmp = msg_tmp[1:]
+ msg_tmp = msg_tmp[0]
+
+ j = 0
+ i = 0
+ videobook_old = {}
+ videobook_name_tmp = UnicodeHexStr_To_Utf8Str(msg_tmp)
+ lst = videobook_name_tmp.split(",")
+
+ print("msg_tmp:{} phonebook_oldtmp:{} type:{}".format(msg_tmp,videobook_name_tmp,lst))
+ # 0 1 2 3
+ for vediobook_tmp in lst:
+
+ if (j % 3) == 0:#账号
+ videobook_old = vediobook_tmp
+ elif (j % 3) == 1:#名称
+ i+=1
+ videobook_name_cont= "{}:{}".format("%03d"%(i),videobook_old)
+ videobook[videobook_name_cont] = vediobook_tmp
+ j+=1
+ print("videobook!!!:{}".format(str(videobook)))
+ # print("phonebook!!!:{}".format(str(phonebook)))
+ with open("/usr/static/storage_file/videobook.json","w",encoding="utf-8") as fd:
+ ujson.dump(videobook,fd)
+ print("创建视频通话账号")
+
+ EventMesh.publish("set_videobook_list",[1,videobook])
+ EventMesh.publish("video_updata_list_show")
+ # EventMesh.publish(constants.PROTOCOL.JMEMBERS_SEND)
+
+# # [X*Y*LEN*CALLING,呼叫者id,会议id,通话类型,Token]
+
+# # 设备回复
+# # [X*Y*LEN*CALLING,音视频状态]
+# # 音视频状态:为0表示正常可通讯状态,否则填上用音视频返回的状态码,比如200,如果未获取到返回状态码,则填1
+# class CALLING_ProtoCol(ProtoCol):#app发起视频通话
+# """"""
+# TYPE = "CALLING"
+# def send(self, event, msg):
+
+# # [XT*334588000000156*0005*WLKEY]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0007*CALLING"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s,%d]"%(str(MD5_SIGN),send_data,msg)
+# print("CALLING:send data:%s"%(data))
+# # print("WLKEY!!!!!!!!!!!!!")
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+# def recv(self, event, msg):
+# """
+# @param event:
+# @param msg: 接收到的下行数据
+# """
+# # b'[SZKW*867387060319166*000A*CALLING]'
+# print("CALLING!!!!!!!!!!!!!",msg)
+# msg = msg[1:-1]
+# msg_tmp = msg.decode('ascii')
+# msg_tmp_d = msg_tmp.split(',')
+# call_id = msg_tmp_d[2]#id
+# meet_id = msg_tmp_d[1]#会议id
+# call_type = msg_tmp_d[3]#通话类型id
+# tokens_data = ""
+# # tokens_data = msg_tmp_d[4]#tokens
+# EventMesh.publish("set_vedio_call_id",call_id)#
+# EventMesh.publish("set_vedio_meet_id",meet_id)#
+# EventMesh.publish("set_vedio_call_type", call_type)#
+# EventMesh.publish("set_vedio_tokens_data", tokens_data)#
+
+
+# # EventMesh.publish("set_vedio_infor",[call_id,meet_id,call_type,tokens_data])#
+# EventMesh.publish(constants.PROTOCOL.CALLING_SEND,1)
+# EventMesh.publish("load_screen", {"screen": "vedio_incall"})
+
+# # [XT*YYYYYYYYYYYYYYY*LEN*RCALLING,呼叫者id,会议id/声网频道名(没有则留空,但位置保留),音频还是视频(0为音频,1为视频)]
+# # 实例:
+# # [XT*334588000000156*0007*RCALLING,d3e2f759f9d5af3858f3530b,,0]
+# # 终端回复:
+# # [XT*设备ID*LEN*RCALLING]
+# # 实例:[XT*334588000000156*0009*RCALLING]
+# #
+# class RCALLING_ProtoCol(ProtoCol):#设备拒接接听
+# """"""
+# TYPE = "RCALLING"
+# def send(self, event, msg):
+
+# # [XT*334588000000156*0005*WLKEY]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0008*RCALLING"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s]"%(str(MD5_SIGN),send_data)
+# print("RCALLING:send data:%s"%(data))
+# # print("WLKEY!!!!!!!!!!!!!")
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+# def recv(self, event, msg):
+# """
+# @param event:
+# @param msg: 接收到的下行数据
+# """
+# # b'[SZKW*867387060319166*000A*RCALLING]'
+# print("RCALLING!!!!!!!!!!!!!")
+# EventMesh.publish(constants.PROTOCOL.RCALLING_SEND)
+
+# class AGTALK_ProtoCol(ProtoCol):#设备发起视频通话与app接听视频通话
+# """"""
+# TYPE = "RINGING"
+# def send(self, event, msg):
+
+# # [XT*334588000000156*0005*WLKEY]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0007*RINGING"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s,%d,%s]"%(str(MD5_SIGN),send_data,msg[0],msg[1])
+# print("AGTALK:send data:%s"%(data))
+# # print("WLKEY!!!!!!!!!!!!!")
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+# def recv(self, event, msg):
+# """
+# @param event:
+# @param msg: 接收到的下行数据
+# """
+# # b'[SZKW*876226002021444*007B*AGTALK,0,01lqlyqzzQHpfwv5g7jFVC2H6Ha2tHFpMlfSm5sd2uo7o55JEcc=OVxewje6MjP0NgEODwsLDwkJCwkLCA0NDQ==,8762260020214441701226895]'
+
+# # msg = msg[1:-1]
+# # msg_tmp = msg.decode('ascii')
+# # msg_tmp_d = msg_tmp.split(',')
+# # call_state = int(msg_tmp_d[1])#id
+
+# # if call_state == 0:#可正常通话
+# # tokens_data = msg_tmp_d[2]#会议id
+# # meet_id = msg_tmp_d[3]#会议id
+# # EventMesh.publish("set_vedio_meet_id", meet_id)#
+# # EventMesh.publish("set_vedio_tokens_data", tokens_data)#
+# # EventMesh.publish("open_vedio_infor")
+# # # EventMesh.publish("set_UI_high_priority", 0)
+# # # EventMesh.publish("load_screen", {"screen": "vedio_answer"})
+# # # EventMesh.publish("set_vedio_infor",[call_id,meet_id,call_type,tokens_data])#
+
+
+
+# print("RINGING!!!!!!!!!!!!!")
+
+# 注:终端一旦收到该请求,则退出当前通话
+# [DL*YYYYYYYYYYYYYYY*LEN*HANGUP]
+# 实 例 : [DL*334588000000156*0006*HANGUP]
+# 终端回复:
+# [DL*设备 ID*LEN*HANGUP]
+
+class HANGUP_ProtoCol(ProtoCol):#app拒接视频通话
+ """"""
+ TYPE = "HANGUP"
+ def send(self, event, msg):
+
+ # [XT*334588000000156*0005*WLKEY]
+ send_data = EventMesh.publish("get_new_pid")+"*%s*0006*HANGUP"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("AGTALK:send data:%s"%(data))
+ # print("WLKEY!!!!!!!!!!!!!")
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*867387060319166*000A*RTALK]'
+ print("HANGUP!!!!!!!!!!!!!")
+ # [SZKW*876226002021444*003A*RTALK,3ef20e64f3abb84b27f7d764,8762260020214441701226522,1]'
+ # msg = msg[1:-1]
+ # msg_tmp = msg.decode('ascii')
+ # msg_tmp_d = msg_tmp.split(',')
+ # screen_NAME = EventMesh.publish("get_screen_NAME")
+ # if screen_NAME != None:
+ # if screen_NAME == "video_outcall":
+ # # EventMesh.publish("close_jrtc_event")
+ # EventMesh.publish("set_UI_high_priority", 0)
+ # EventMesh.publish("load_screen", {"screen": "videolist"})
+
+ EventMesh.publish(constants.PROTOCOL.HANGUP_SEND)
+
+# 注:终端一旦收到该请求,则退出当前通话
+# [DL*YYYYYYYYYYYYYYY*LEN*CALLCANCEL]
+# 实 例 : [DL*334588000000156*000A*CALLCANCEL]
+# 终端回复:
+# [DL*设备 ID*LEN*CALLCANCEL]
+class CALLCANCEL_ProtoCol(ProtoCol):#app拒接视频通话
+ """"""
+ TYPE = "CALLCANCEL"
+ def send(self, event, msg):
+
+ # [XT*334588000000156*0005*WLKEY]
+ send_data = EventMesh.publish("get_new_pid")+"*%s*000A*CALLCANCEL"%(self.imei)
+ MD5_SIGN = self.pack_MD5_head(send_data)
+ data = "[%s%s]"%(str(MD5_SIGN),send_data)
+ print("AGTALK:send data:%s"%(data))
+ # print("WLKEY!!!!!!!!!!!!!")
+ # 通过socket发送到服务器端
+ EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+ def recv(self, event, msg):
+ """
+ @param event:
+ @param msg: 接收到的下行数据
+ """
+ # b'[SZKW*867387060319166*000A*RTALK]'
+ print("CALLCANCEL!!!!!!!!!!!!!")
+ # [SZKW*876226002021444*003A*RTALK,3ef20e64f3abb84b27f7d764,8762260020214441701226522,1]'
+ # msg = msg[1:-1]
+ # msg_tmp = msg.decode('ascii')
+ # msg_tmp_d = msg_tmp.split(',')
+ # screen_NAME = EventMesh.publish("get_screen_NAME")
+ # if screen_NAME != None:
+ # if screen_NAME == "video_outcall":
+ # # EventMesh.publish("close_jrtc_event")
+ # EventMesh.publish("set_UI_high_priority", 0)
+ # EventMesh.publish("load_screen", {"screen": "videolist"})
+
+ EventMesh.publish(constants.PROTOCOL.CALLCANCEL_SEND)
+
+# class RTALK_ProtoCol(ProtoCol):#app拒接视频通话
+# """"""
+# TYPE = "RTALK"
+# def send(self, event, msg):
+
+# # [XT*334588000000156*0005*WLKEY]
+# send_data = EventMesh.publish("get_new_pid")+"*%s*0005*RTALK"%(self.imei)
+# MD5_SIGN = self.pack_MD5_head(send_data)
+# data = "[%s%s,%d,%s]"%(str(MD5_SIGN),send_data,msg[0],msg[1])
+# print("AGTALK:send data:%s"%(data))
+# # print("WLKEY!!!!!!!!!!!!!")
+# # 通过socket发送到服务器端
+# EventMesh.publish(constants.EVENT.CHANNEL_SOCKET_SEND,data)
+
+# def recv(self, event, msg):
+# """
+# @param event:
+# @param msg: 接收到的下行数据
+# """
+# # b'[SZKW*867387060319166*000A*RTALK]'
+# print("RTALK!!!!!!!!!!!!!")
+# # [SZKW*876226002021444*003A*RTALK,3ef20e64f3abb84b27f7d764,8762260020214441701226522,1]'
+# msg = msg[1:-1]
+# msg_tmp = msg.decode('ascii')
+# msg_tmp_d = msg_tmp.split(',')
+# screen_NAME = EventMesh.publish("get_screen_NAME")
+# if screen_NAME != None:
+# if screen_NAME == "video_outcall":
+# # EventMesh.publish("close_jrtc_event")
+# EventMesh.publish("set_UI_high_priority", 0)
+# EventMesh.publish("load_screen", {"screen": "videolist"})
+
+
+
class ProtoColResolver(object):
self.meta = phone_screen
phone_one.add_event_cb(lambda e: EventMesh.callback_wrapper(self.one(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_two.add_event_cb(lambda e: EventMesh.callback_wrapper(self.two(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_three.add_event_cb(lambda e: EventMesh.callback_wrapper(self.three(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_four.add_event_cb(lambda e: EventMesh.callback_wrapper(self.four(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_five.add_event_cb(lambda e: EventMesh.callback_wrapper(self.five(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
lv.EVENT.LONG_PRESSED, None)#长按显示+
lv.EVENT.RELEASED, None)#释放按键
phone_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
lv.EVENT.LONG_PRESSED, None)#长按显示+
lv.EVENT.RELEASED, None)#释放按键
# phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)#短按显示*
+ lv.EVENT.SHORT_CLICKED, None)#短按显示*
phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
lv.EVENT.LONG_PRESSED, None)#长按显示+
lv.EVENT.RELEASED, None)#释放按键
phone_call.add_event_cb(lambda e: EventMesh.callback_wrapper(self.call(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
# phone_contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.contact(e)),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
phone_delete.add_event_cb(lambda e: EventMesh.callback_wrapper(self.delete(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
# phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- # lv.EVENT.CLICKED, None)#短按显示*
+ # lv.EVENT.SHORT_CLICKED, None)#短按显示*
# phone_start.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
# lv.EVENT.LONG_PRESSED, None)#长按显示+
# phone_hash.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hash(e)),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
self.phone_num=''
_btn = lv.btn(self.call_log_detail_list)
_btn.add_flag(lv.obj.FLAG.CLICKABLE)
_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
_btn.add_flag(lv.obj.FLAG.HIDDEN)
_btn_label2 = lv.label(_btn)
self.call_log_detail_list_dict[h]["_btn"].set_style_bg_color(lv.color_make(0xff, 0xff, 0xff), lv.PART.MAIN | lv.STATE.DEFAULT)
# 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)
+ lv.EVENT.SHORT_CLICKED, None)
#_btn_label2 = lv.label(_btn)
def calling(self,e):
code = e.get_code()
- if code == lv.EVENT.CLICKED:
+ if code == lv.EVENT.SHORT_CLICKED:
global call_log_screen,contacts_cont_list ,call_log_title ,none_call_log_title
# print("e.get_text():{} {}".format(e.get_target().get_child(0).get_text(),e.get_target().get_child(3).get_text()))
phonnum = str(e.get_target().get_child(0).get_text())
hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
hangup_imgbtn.set_pos(48, 90)
hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = dialing_screen
if dialing_name != None:
name = EventMesh.publish("get_phonename")#获取拨打电话名称
EventMesh.publish("load_screen",{"screen":"wechat"})
def btn8_press(self):
- EventMesh.publish("load_screen",{"screen":"wechat"})
+ EventMesh.publish("load_screen",{"screen":"main_menu"})
self.meta = no_sim_power_screen
no_sim_power_screen_comfirm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
no_sim_power_screen_cancel_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def confirm(self,e):
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = dialing_popup_screen
if dialing_popup_name != None:
name = EventMesh.publish("get_phonename")#获取拨打电话名称
# 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)
+ message_full_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.SHORT_CLICKED, None)
+ message_full_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.SHORT_CLICKED, None)
def remove_all_sms_cb(self, event, msg):
for i in range(MSG_MAX):
msg_btn = lv.btn(self.sms_detail_list)
msg_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sms_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
msg_btn.add_flag(lv.obj.FLAG.HIDDEN)
_btn_label2 = lv.label(msg_btn)
_btn_label3 = lv.label(msg_btn)
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"].add_event_cb(lambda e: EventMesh.callback_wrapper(self.sms_cb(e)),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
title = tmp[0]
# print("title:{}".format(title))
def sms_cb(self,e):
code = e.get_code()
- if code == lv.EVENT.CLICKED:
+ if code == lv.EVENT.SHORT_CLICKED:
print("tp test!!!!!!!!!!!!!!")
#上传标题和内容
_name = e.get_target().get_child(0).get_text()
self.meta = heartrate_screen
heartrate_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
heartrate_done_label.set_text(" ")
heartrate_bpm_label.set_text("-- bpm")
heartrate_start_label.set_text("正在测量中.")
toolbox_calcut_img_label.set_style_text_align(lv.TEXT_ALIGN.LEFT, 0)
toolbox_calcut_img_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- toolbox_step_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.CLICKED, None)
- toolbox_weather_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.CLICKED, None)
- toolbox_alarm_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "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_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e,"countdown")), lv.EVENT.CLICKED, None)
- toolbox_stopwatch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.CLICKED, None)
+ toolbox_step_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.SHORT_CLICKED, None)
+ toolbox_weather_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.SHORT_CLICKED, None)
+ toolbox_alarm_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.SHORT_CLICKED, None)
+ # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.SHORT_CLICKED, None)
+ toolbox_countdown_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e,"countdown")), lv.EVENT.SHORT_CLICKED, None)
+ toolbox_stopwatch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.SHORT_CLICKED, None)
- toolbox_calcut_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "calculator")), lv.EVENT.CLICKED, None)
+ toolbox_calcut_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "calculator")), lv.EVENT.SHORT_CLICKED, None)
- # toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.CLICKED, None)
- # toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.CLICKED, None)
- # toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "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.ui_tool_cb(e, "countdown")), lv.EVENT.CLICKED, None)
- # toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.CLICKED, None)
+ # toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.SHORT_CLICKED, None)
+ # toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.SHORT_CLICKED, None)
+ # toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.SHORT_CLICKED, None)
+ # # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.SHORT_CLICKED, None)
+ # toolbox_countdown_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.SHORT_CLICKED, None)
+ # toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.SHORT_CLICKED, None)
toolbox_step_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "step")), lv.EVENT.PRESSING, None)
toolbox_weather_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.PRESSING, None)
toolbox_alarm_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.PRESSING, None)
- # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
+ # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.SHORT_CLICKED, None)
toolbox_countdown_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.PRESSING, None)
toolbox_stopwatch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.PRESSING, None)
toolbox_calcut_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "calculator")), lv.EVENT.PRESSING, None)
# toolbox_step_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e,"step")), lv.EVENT.PRESSING, None)
# toolbox_weather_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "weather")), lv.EVENT.PRESSING, None)
# toolbox_alarm_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "clk_list")), lv.EVENT.PRESSING, None)
- # # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.CLICKED, None)
+ # # toolbox_sms_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "popup"})), lv.EVENT.SHORT_CLICKED, None)
# toolbox_countdown_img_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "countdown")), lv.EVENT.PRESSING, None)
# toolbox_stopwatch_img_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_tool_cb(e, "stopwatch")), lv.EVENT.PRESSING, None)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
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_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
incoming_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = incoming_call_screen
EventMesh.publish("set_UI_high_priority", 1)
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)
+ # lv.EVENT.SHORT_CLICKED, None)
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)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_volum_add = lv.img(on_call_obj)
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)
+ # lv.EVENT.SHORT_CLICKED, None)
on_call_volum_add_btn = lv.img(on_call_obj)
on_call_volum_add_btn.set_size(40, 40)
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)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_volum_label = lv.label(on_call_obj)
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)
on_call_volum_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.open_volum_show(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_hangup = lv.img(on_call_obj)
on_call_hangup.set_size(32, 32)
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.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_tab_label = lv.label(on_call_obj)
on_call_tab_label.set_pos(80, 100)
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)
on_call_tab_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.on_call_tab_show(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_screen_tab = lv.obj(on_call_screen)
on_call_screen_tab.set_size(128,128)
on_call_phone_return_btn.set_pos(0, 0)
on_call_phone_return_btn.set_size(50, 25)
on_call_phone_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.on_return_show(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_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")
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)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_xing.add_event_cb(lambda e: EventMesh.callback_wrapper(self.xingpressed_start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_one.add_event_cb(lambda e: EventMesh.callback_wrapper(self.one(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_two.add_event_cb(lambda e: EventMesh.callback_wrapper(self.two(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_three.add_event_cb(lambda e: EventMesh.callback_wrapper(self.three(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_four.add_event_cb(lambda e: EventMesh.callback_wrapper(self.four(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_five.add_event_cb(lambda e: EventMesh.callback_wrapper(self.five(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_six.add_event_cb(lambda e: EventMesh.callback_wrapper(self.six(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_seven.add_event_cb(lambda e: EventMesh.callback_wrapper(self.endpressed_start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_eight.add_event_cb(lambda e: EventMesh.callback_wrapper(self.eight(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
on_call_phone_nine.add_event_cb(lambda e: EventMesh.callback_wrapper(self.nine_endpressed_start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
# phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.zero(e)),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)#短按显示*
+ lv.EVENT.SHORT_CLICKED, None)#短按显示*
on_call_phone_zero.add_event_cb(lambda e: EventMesh.callback_wrapper(self.pressed_start(e)),
lv.EVENT.LONG_PRESSED, None)#长按显示+
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "toolbox"})
no_connect_label1.set_text("请联网后重试")
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "toolbox"})
contact_btn = lv.btn(self.contact_detail_list)
contact_btn.add_flag(lv.obj.FLAG.CLICKABLE)
contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.PRESSING, None)
contact_btn.add_flag(lv.obj.FLAG.HIDDEN)
# contact_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
# 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)
+ # lv.EVENT.SHORT_CLICKED, None)
#contact_btn_label_1 = lv.label(contact_btn)
self.contact_detail_listt_dict[i]["contact_btn_label_1"].set_pos(0, 0)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.meta = temperature_screen
temp_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
temperature_bpm_label.set_text("- -")
temperature_start_label.set_text("正在测量中.")
self.meta = spo2_screen
spo2_reset_btn_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.restart_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def post_processor_after_initialization(self):
self.point = 0
self.meta = countdown_screen
countdown_sec_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_sec_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.sec_down(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_min_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_min_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.min_down(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_hour_up_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_up(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_hour_down_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hour_down(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_start_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.start(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
countdown_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
# countdown_stop_imgbtn.add_event_cb(lambda e: self.stop(e),
- # lv.EVENT.CLICKED, None)
+ # lv.EVENT.SHORT_CLICKED, None)
date_tmp = utime.localtime()
self.time_tmp = utime.mktime(date_tmp)
if self.g_end == 1:
EventMesh.publish("load_screen", {"screen": "countdown"})
else:
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
if self.g_state == 0:
def done_left_to_right(self):
self.stop_FIND()
- EventMesh.publish("load_screen", {"screen": "countdown"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "countdown"})
def done_right_to_left(self):
self.stop_FIND()
- EventMesh.publish("load_screen", {"screen": "countdown"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "countdown"})
def done_bottom_to_top(self):
self.stop_FIND()
- EventMesh.publish("load_screen", {"screen": "countdown"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "countdown"})
def done_top_to_bottom(self):
self.stop_FIND()
- EventMesh.publish("load_screen", {"screen": "countdown"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "countdown"})
def done_return(self):
self.stop_FIND()
- EventMesh.publish("load_screen", {"screen": "countdown"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "countdown"})
def done_click(self):
self.stop_FIND()
stopwatch_stop_img.set_pos(66, 90)
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)
+ lv.EVENT.SHORT_CLICKED, None)
stopwatch_reset_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reset(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = stopwatch_screen
if self.s_state == 0:
def done_return(self):
if self.s_state == 0:
self.timer.stop()
- EventMesh.publish("load_screen", {"screen": "toolbox"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "toolbox"})
def btn1_release(self):
if self.s_state == 0:
def stop_FIND(self) :
self.FIND_timer.stop()
self.aud.stop() #播放声音
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def Close(self):
print("self.FIND_timer_Close")
def __init__(self):
super().__init__()
self.meta = None
+ self.meta_type = "popup"
def initialization(self):
global Lowpower_screen ,Lowpower_screen_img
self.meta = Lowpower_screen
def done_left_to_right(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_right_to_left(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_bottom_to_top(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_top_to_bottom(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_click(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
super().__init__()
self.meta = None
self.timer = osTimer()
+ self.meta_type = "popup"
def initialization(self):
global LowOnePower_screen ,LowOnePower_screen_img ,LowOnePower_screen_label2,LowOnePower_screen_label1
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
def done_left_to_right(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_right_to_left(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_bottom_to_top(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_top_to_bottom(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def done_click(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
self.meta = sos_screen
sos_screen_confirm_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.timer_comfirm_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
sos_screen_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.timer_cancel_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def timer_comfirm_cb(self,e):
EventMesh.publish("set_sos_flag", 1)
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)
+ lv.EVENT.SHORT_CLICKED, None)
no_sim_auto_screen_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.cancel(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.timer.start(1*1000,1,self.fun)
self.count = 0
def fun(self,*argc):
self.meta = None
self.system_init_timer=osTimer()
self.system_init_timer_count = 0
+ self.meta_type = "popup"
def initialization(self):
global system_init_screen ,system_init_label
if system_init_screen == None:
system_init_screen = lv.obj()
- print("Lowpower_screen")
+ print("SystemInitScreen")
system_init_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
system_init_label = lv.label(system_init_screen)
super().__init__()
self.meta = None
self.timer = osTimer()
+ self.meta_type = "popup"
+
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")
+ print("class_mgr_popup_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)
hour = data[4]
min = data[5]
class_mgr_popup_time1_text.set_text("{}:{}".format("%02d"%(hour),"%02d"%(min)))
+ EventMesh.publish("set_UI_high_priority", 1)
self.timer.start(1*1000,1,self.fun)
def lcd_on(self):
def lcd_off(self):
self.timer.stop()
+ def Close(self):
+ EventMesh.publish("set_UI_high_priority", 0)
+
def fun(self,*argc):
global class_mgr_popup_time1_text
data = RTC().datetime()
camera_popup_screen = None
camera_popup_label = None
+camera_img_test = None
def camCapturecallback(result_list):
print("camCapturecallback",result_list)
if result_list[0] == 0:#保存成功
tmp = tmp.split("_camera")[0]
time = int(tmp)
album_data = int(EventMesh.publish("get_camera_num"))
-
+ if album_data >= 1:
+ album_data=1
+ print("album_data",album_data)
EventMesh.publish("set_camera_num",album_data+1)
EventMesh.publish("save_album_succ",1)
pass
def done_click(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def btn8_press(self):
def done_click(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def btn8_press(self):
self.meta = None
self.preview1 = None
self.timer = osTimer()
- self.timer2 =osTimer()
+ self.timer2 = osTimer()
self.timer3 = osTimer()
self.camera_num = 0
EventMesh.subscribe("save_album_succ",self.save_album_succ)
def initialization(self):
- global camera_popup_screen ,camera_popup_label
-
+ global camera_popup_screen ,camera_popup_label,camera_img_test
+ # dec = camera.camCapture(0,240,320,1,128,128)
+ # dec.callback(camCapturecallback)
state = dec.open()
- dec.set_rotate(1)
+ dec.set_rotate(0)
if camera_popup_screen == None:
camera_popup_screen = lv.obj()
- print("Lowpower_screen")
+ print("camera_popup_screen")
camera_popup_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
-
- img_test = lv.img(camera_popup_screen)
+ camera_img_test = lv.img(camera_popup_screen)
# img_test.set_src("U:/hang_up.png")
- ret = dec.set_img(img_test)
- print("set img:", ret)
- img_test.align(lv.ALIGN.CENTER, 0, 0)
- img_test.set_size(128,128)
+ ret = dec.set_img(camera_img_test)
+
+ camera_img_test.align(lv.ALIGN.CENTER, 0, 0)
+ camera_img_test.set_size(128,128)
+
camera_camera_btn = lv.img(camera_popup_screen)
camera_camera_btn.add_flag(lv.obj.FLAG.CLICKABLE)
camera_camera_btn.set_pos(48, 90)
camera_camera_btn.set_size(30,30)
camera_camera_btn.set_src("U:/static/camera_btn.png")
- # camera_camera_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.CLICKED, None)
+ # camera_camera_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_camera_album_btn = lv.img(camera_popup_screen)
camera_camera_album_btn.add_flag(lv.obj.FLAG.CLICKABLE)
camera_camera_album_btn.set_pos(100, 10)
camera_camera_album_btn.set_size(20,20)
camera_camera_album_btn.set_src("U:/static/camera_album_btn.png")
- # camera_camera_album_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.CLICKED, None)
+ # camera_camera_album_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_camera_return_btn = lv.img(camera_popup_screen)
camera_camera_return_btn.add_flag(lv.obj.FLAG.CLICKABLE)
camera_camera_return_btn.set_pos(0, 10)
camera_camera_return_btn.set_size(18,18)
camera_camera_return_btn.set_src("U:/static/RED_RETURN_PNG.png")
- # camera_camera_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.CLICKED, None)
+ # camera_camera_return_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_camera_return_btn_label = lv.label(camera_popup_screen)
camera_camera_return_btn_label.set_pos(0, 0)
camera_camera_return_btn_label.set_size(40, 40)
camera_camera_return_btn_label.set_text(" ")
camera_camera_return_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_return_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_return_click(e)), lv.EVENT.CLICKED, None)
+ camera_camera_return_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_return_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_camera_album_btn_label = lv.label(camera_popup_screen)
camera_camera_album_btn_label.set_pos(80, 0)
camera_camera_album_btn_label.set_size(48, 40)
camera_camera_album_btn_label.set_text(" ")
camera_camera_album_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_album_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.CLICKED, None)
+ camera_camera_album_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_album_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_camera_btn_label = lv.label(camera_popup_screen)
camera_camera_btn_label.set_pos(40, 88)
camera_camera_btn_label.set_size(50, 40)
camera_camera_btn_label.set_text(" ")
camera_camera_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_camera_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.CLICKED, None)
+ camera_camera_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.camera_click(e)), lv.EVENT.SHORT_CLICKED, None)
camera_popup_label = lv.label(camera_popup_screen)
camera_popup_label.set_pos(0, 40)
camera_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
self.meta = camera_popup_screen
+
+
+
album_data = EventMesh.publish("get_camera_num")
if int(album_data) >= 1:#相册已满
- EventMesh.publish("load_screen", {"screen": "camera_full"})
+ # EventMesh.publish("load_screen", {"screen": "camera_full"})
pass
if camera_popup_label != None:
camera_popup_label.add_flag(lv.obj.FLAG.HIDDEN)
self.timer3.stop()
EventMesh.publish("save_album_succ",2)
album_data = EventMesh.publish("get_camera_num")
- if int(album_data) >= 1:#相册已满
- EventMesh.publish("load_screen", {"screen": "camera_full"})
- return
+ if album_data != None:
+ if int(album_data) >= 1:#相册已满
+ EventMesh.publish("load_screen", {"screen": "camera_full"})
+ return
self.timer2.start(1*1000,0,self.save_album)#延迟1s保存图片
def camera_album_click(self,e):
self.timer.stop()
self.timer2.stop()
self.timer3.stop()
+ # dec.remove_img()
+ print("close camera!!!!!!!")
state = dec.close()
def save_suc_album(self,*argc):
# 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(256)
- # camera_album_popup_img1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.CLICKED, None)
+ # camera_album_popup_img1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.SHORT_CLICKED, None)
camera_album_popup_img2 = lv.img(camera_album_popup_screen)
camera_album_popup_img2.set_pos(51, 100)
camera_album_popup_img2.set_size(25, 25)
camera_album_popup_img2.add_flag(lv.obj.FLAG.CLICKABLE)
- camera_album_popup_img2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.CLICKED, None)
+ camera_album_popup_img2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,0)), lv.EVENT.SHORT_CLICKED, None)
camera_album_popup_img3 = lv.img(camera_album_popup_screen)
camera_album_popup_img3.set_pos(0, 10)
camera_album_popup_img3.set_size(18,18)
camera_album_popup_img3.add_flag(lv.obj.FLAG.CLICKABLE)
camera_album_popup_img3.set_src("U:/static/RED_RETURN_PNG.png")
- camera_album_popup_img3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.CLICKED, None)
+ camera_album_popup_img3.add_event_cb(lambda e: EventMesh.callback_wrapper(self.click_album(e,1)), lv.EVENT.SHORT_CLICKED, None)
self.meta = camera_album_popup_screen
read_album = 0
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_delet_can_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.cancel_pop(e)),lv.EVENT.SHORT_CLICKED,None)
+ album_preview_popup_delet_con_label.add_event_cb(lambda e:EventMesh.callback_wrapper(self.confirm_pop(e)),lv.EVENT.SHORT_CLICKED,None)
album_preview_popup_img.set_src("U:/static/album/%d_camera.jpg"%(album_num_tmp))#'U:/6_camera.jpeg'
def btn8_press(self):
EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
-camera_video_screen = None
-camera_video_label = None
-class cameraVdieoScreen(Screen):#
+voice_answer_screen = None
+voice_answer_label = None
+voice_answer_btn1 = None
+voice_answer_btn_label1 = None
+class VdieoVoiceScreen(Screen):#语音接听画面
#
- NAME = "camera_video"
+ NAME = "voice_answer"
def __init__(self):
super().__init__()
self.meta = None
- self.preview1 = None
self.timer = osTimer()
+ self.meta_type = "popup"
+ self.count = 0
def initialization(self):
- global camera_video_screen ,camera_video_label
-
+ global voice_answer_screen ,video_answer_btn_label1
+ self.count = 0
+ if voice_answer_screen == None:
+ voice_answer_screen = lv.obj()
+ print("voice_answer_screen")
+ voice_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ video_answer_btn_label1 = lv.label(voice_answer_screen)
+ video_answer_btn_label1.set_pos(0, 50)
+ video_answer_btn_label1.set_text("正在接听中...")
+ video_answer_btn_label1.set_size(128, 40)
+ video_answer_btn_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ video_answer_btn_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ self.meta = voice_answer_screen
+ EventMesh.publish("set_UI_high_priority", 1)
+ self.timer.start(1*1000,1,self.fun)
+
+ def fun(self,*argc):
+ call_state = jrtc.get_state()
+ if call_state == 5:
+ self.timer.stop()
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("load_screen", {"screen": "voiceing"})
+ return
+ if call_state == 0:
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+ return
+ # print("voiceing_answer call_state",call_state)
+ self.count+=1
+ if self.count >= 20:
+
+ self.timer.stop()
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("load_screen", {"screen": "main_menu"})
+
+ return
+
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+
+
+ def Close(self):
+ self.timer.stop()
+
+ def done_return(self):
+ pass
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
- if camera_video_screen == None:
- camera_video_screen = lv.obj()
- print("camera_video_screen")
- camera_video_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_video_label = lv.label(camera_video_screen)
- camera_video_label.set_pos(0, 20)
- camera_video_label.set_size(128, 40)
- camera_video_label.set_text("正在对方接听中")
- camera_video_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
- camera_video_label.set_long_mode(lv.label.LONG.WRAP)
- camera_video_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ 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_voice_answer_second_label = None
+camera_voice_answer_screen = None
+camera_voice_answer_label = None
+camera_voice_answer_btn = None
+camera_voice_answer_btn_label =None
+
+class VoiceShowScreen(Screen):#正在语音通话中
+ #
+ NAME = "voiceing"
+
+ def __init__(self):
+ super().__init__()
+ self.meta = None
+ self.preview1 = None
+ self.timer = osTimer()
+ self.statu_open = -1
+ self.show_label = 0
+ self.second_count = 0
+ self.time_out = 0
+ self.meta_type = "popup"
+
+
+ def initialization(self):
+ global camera_voice_answer_screen,camera_voice_answer_second_label ,camera_voice_answer_btn_label,camera_voice_answer_label,camera_voice_answer_btn
+ if camera_voice_answer_screen == None:
+ camera_voice_answer_screen = lv.obj()
+ print("camera_voice_answer_screen")
+ camera_voice_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+ camera_voice_answer_label = lv.label(camera_voice_answer_screen)
+ camera_voice_answer_label.set_pos(0, 20)
+ camera_voice_answer_label.set_text("正在通话中...")
+ camera_voice_answer_label.set_size(128, 40)
+ camera_voice_answer_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ camera_voice_answer_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ camera_voice_answer_second_label = lv.label(camera_voice_answer_screen)
+ camera_voice_answer_second_label.set_pos(0, 50)
+ camera_voice_answer_second_label.set_text(" ")
+ camera_voice_answer_second_label.set_size(128, 40)
+ camera_voice_answer_second_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ camera_voice_answer_second_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ camera_voice_answer_btn = lv.img(camera_voice_answer_screen)
+ camera_voice_answer_btn.add_flag(lv.obj.FLAG.CLICKABLE)
+ camera_voice_answer_btn.set_pos(48, 90)
+ camera_voice_answer_btn.set_size(32,32)
+ camera_voice_answer_btn.set_src("U:/static/hang_up.png")
+
+ camera_voice_answer_btn_label = lv.label(camera_voice_answer_screen)
+ camera_voice_answer_btn_label.set_pos(18, 50)
+ camera_voice_answer_btn_label.set_text(" ")
+ camera_voice_answer_btn_label.set_size(90, 78)
+ camera_voice_answer_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
+
+ camera_voice_answer_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
+
+ camera_voice_answer_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
+
+ self.meta = camera_voice_answer_screen
+ call_state = jrtc.get_state()
+
+ self.second_count = 0
+ self.statu_open = 0
+
+ self.time_out = 0
+
+ EventMesh.publish("set_UI_high_priority", 1)
+ if call_state == 5:#接通
+ camera_voice_answer_label.set_text("正在通话中...")
+ camera_voice_answer_label.set_pos(0, 20)
+ camera_voice_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_voice_answer_second_label.set_text("00:00")
+ camera_voice_answer_second_label.set_pos(0, 50)
+ # camera_voice_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
+ # camera_voice_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ else:
+ camera_voice_answer_label.set_text("正在接听中...")
+ camera_voice_answer_label.set_pos(0, 50)
+ camera_voice_answer_second_label.add_flag(lv.obj.FLAG.HIDDEN)
+ # camera_voice_answer_btn.add_flag(lv.obj.FLAG.HIDDEN)
+ # camera_voice_answer_btn_label.add_flag(lv.obj.FLAG.HIDDEN)
+ self.timer.start(1*1000,1,self.fun)
- img_btn = lv.img(camera_video_screen)
- img_btn.add_flag(lv.obj.FLAG.CLICKABLE)
- img_btn.set_pos(0, 90)
- img_btn.set_size(32,32)
- img_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.CLICKED, None)
- self.meta = camera_video_screen
def close_cb(self,e):
- pass
+ self.statu_open = 1
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
def fun(self,*argc):
- pass
- # EventMesh.publish("system_sleep_rest")#防止黑屏
+ EventMesh.publish("system_sleep_rest")#防止黑屏
+ call_state = jrtc.get_state()
+ if call_state == 5:
+ camera_voice_answer_label.set_text("正在通话中...")
+ camera_voice_answer_label.set_pos(0, 20)
+ # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_voice_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_voice_answer_second_label.set_pos(0, 50)
+ camera_voice_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_voice_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
+
+ self.second_count+=1
+ self.show_time()
+ # print("call_state",call_state)
+ if call_state == 0 and self.statu_open == 0:
+ self.timer.stop()
+
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
+
+ return
+
+ if call_state != 5:
+ self.time_out+=1
+ if self.time_out >= 60 or (call_state == 0 and self.time_out >= 5):
+ self.time_out = 0
+ self.timer.stop()
+
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
+
+
+
+
+
+ def show_time(self):
+ if self.second_count >= 99*60:
+ total_hour = self.second_count//3600#小时
+ total_min = (self.second_count%3600)//60#分钟
+ total_sec = (self.second_count%3600)%60#秒
+ camera_voice_answer_second_label.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
+
+ else:
+ total_min = self.second_count//60
+ total_sec = self.second_count%60
+ camera_voice_answer_second_label.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
def Close(self):
self.timer.stop()
- if self.open_preview1 == 1:
- self.timer.stop()
- self.preview1.close()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ pass
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
+
+
video_answer_screen = None
video_answer_label = None
video_answer_btn1 = None
video_answer_btn_label1 = None
-class cameraVdieoAnswerScreen(Screen):#接听画面
+class cameraVdieoAnswerScreen(Screen):#视频通话接听画面
#
NAME = "vedio_answer"
super().__init__()
self.meta = None
self.timer = osTimer()
+ self.meta_type = "popup"
self.count = 0
def initialization(self):
video_answer_btn_label1.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
video_answer_btn_label1.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
self.meta = video_answer_screen
+ EventMesh.publish("set_UI_high_priority", 1)
self.timer.start(1*1000,1,self.fun)
def fun(self,*argc):
call_state = jrtc.get_state()
if call_state == 5:
self.timer.stop()
+ EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("load_screen", {"screen": "vedioing"})
return
if call_state == 0:
call_id = str(EventMesh.publish("get_vedio_call_id"))#
meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
call_type = int(EventMesh.publish("get_vedio_call_type"))#
-
+ EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
return
- print("vedio_answer call_state",call_state)
+ # print("vedio_answer call_state",call_state)
self.count+=1
if self.count >= 20:
- EventMesh.publish("close_jrtc_event")
+
self.timer.stop()
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
+
return
EventMesh.publish("system_sleep_rest")#防止黑屏
pass
camera_video_answer_screen = None
+camera_video_answer_second_label = None
camera_video_answer_label = None
camera_video_answer_btn = None
-vcamera_video_answer_btn_label = None
-camera_video_answer_label = None
+camera_video_answer_btn_label = None
+video_img_test = None
def jrtc_cb(close_sta):
print("jrtc callback:", close_sta)
if close_sta == 0 or close_sta == 1:
- jrtc.close(1)
+ jrtc.close(0)
jrtc.set_callback(jrtc_cb)
class VedioShowScreen(Screen):#正在视频通话中
#
self.timer = osTimer()
self.statu_open = -1
self.show_label = 0
+ self.second_count = 0
+ self.time_out = 0
+ self.meta_type = "popup"
EventMesh.subscribe("open_vedio_infor",self.open_vedio_infor)
EventMesh.subscribe("close_jrtc_event",self.close_jrtc_event)
call_id = EventMesh.publish("get_vedio_call_id")#对方的账号
meet_id = EventMesh.publish("get_vedio_meet_id")#共有的会议id
call_type = EventMesh.publish("get_vedio_call_type")#呼叫类型
- tokens_data = EventMesh.publish("get_vedio_tokens_data")#tookens数据
+ tokens_data = EventMesh.publish("get_vedio_tokens_data")#tookens数据#云米平台不需要tokens
- print("vedio infor",call_id,meet_id,call_type,tokens_data)
+
# data = ['6951832', '876226002021444', '1', '01lqlyqzQ4Gozdz8OJv1Mij2Y3PBq2y3+rtIA26Ge+m2QHTc/Vk=gufkGNMBiYhPjbq1tLCwtLKysLKws7a2tg==']
jrtc.init()
# jrtc.config_server("119.3.54.56:1050")#测试服地址
tokens = str(tokens_data)
- oneself_id = str(876226002021444)#自己的账号
- jrtc.config("efe9f8800a39d96244234097", oneself_id, "25v9C652123QL3N8", tokens)
+ appkey = "efe9f8800a39d96244234097"#小见
+ uid_key = "25v9C652123QL3N8"
+
+ # appkey = "249e7d505516af0a7ed44097"
+ # uid_key = "qQI4gkB9FxH8J2cb"
+ imei = EventMesh.publish(constants.EVENT.GET_IMEI)
+ oneself_id = str(imei)#自己的账号默认是imei号
+ jrtc.config(appkey,oneself_id,uid_key,tokens)#只初始化一次发起通话
uid = str(call_id)
ticket = str(meet_id)
- print("uid ",uid,ticket,tokens)
- #jrtc.set_rotate(0)
+ print("uid ",uid,ticket,oneself_id)
+ #jrtc.set_rotate(0)
jrtc.open(uid,ticket,[15,120,240,320],[15,129,128,128])
pass
def close_jrtc_event(self,event,msg):
call_state = jrtc.get_state()
- print("close_jrtc_event",call_state)
- jrtc.close(1)
+ # print("close_jrtc_event1",call_state)
+ # jrtc.remove_img()
+ # print("close_jrtc_event2",call_state)
+ jrtc.close(0)
+ # print("close_jrtc_event3",call_state)
pass
def initialization(self):
- global camera_video_answer_screen ,camera_video_answer_label,camera_video_answer_btn,vcamera_video_answer_btn_label
+ jrtc.set_rotate(jrtc.CAM_ROTATE_180)
+ global camera_video_answer_screen,video_img_test,camera_video_answer_btn_label,camera_video_answer_label,camera_video_answer_second_label,camera_video_answer_btn,vcamera_video_answer_btn_label
if camera_video_answer_screen == None:
camera_video_answer_screen = lv.obj()
print("camera_video_answer_screen")
camera_video_answer_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- img_test = lv.img(camera_video_answer_screen)
- ret = jrtc.set_img(img_test)
- img_test.align(lv.ALIGN.CENTER, 0, 0)
- img_test.set_size(128,128)
+ video_img_test = lv.img(camera_video_answer_screen)
+ ret = jrtc.set_img(video_img_test)
+ video_img_test.align(lv.ALIGN.CENTER, 0, 0)
+ video_img_test.set_size(128,128)
- # camera_video_answer_label = lv.label(camera_video_answer_screen)
- # camera_video_answer_label.set_pos(0, 50)
- # camera_video_answer_label.set_text("正在接听中...")
- # camera_video_answer_label.set_size(128, 40)
- # camera_video_answer_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
- # camera_video_answer_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ camera_video_answer_label = lv.label(camera_video_answer_screen)
+ camera_video_answer_label.set_pos(0, 20)
+ camera_video_answer_label.set_text("正在通话中...")
+ camera_video_answer_label.set_size(128, 40)
+ camera_video_answer_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ camera_video_answer_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+
+ camera_video_answer_second_label = lv.label(camera_video_answer_screen)
+ camera_video_answer_second_label.set_pos(0, 50)
+ camera_video_answer_second_label.set_text(" ")
+ camera_video_answer_second_label.set_size(128, 40)
+ camera_video_answer_second_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ camera_video_answer_second_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
camera_video_answer_btn = lv.img(camera_video_answer_screen)
camera_video_answer_btn.add_flag(lv.obj.FLAG.CLICKABLE)
camera_video_answer_btn.set_pos(48, 90)
camera_video_answer_btn.set_size(32,32)
camera_video_answer_btn.set_src("U:/static/hang_up.png")
- camera_video_answer_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.CLICKED, None)
-
+
+
+ camera_video_answer_btn_label = lv.label(camera_video_answer_screen)
+ camera_video_answer_btn_label.set_pos(18, 50)
+ camera_video_answer_btn_label.set_text(" ")
+ camera_video_answer_btn_label.set_size(90, 78)
+ camera_video_answer_btn_label.add_flag(lv.obj.FLAG.CLICKABLE)
+
+
+ camera_video_answer_btn_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
+ camera_video_answer_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.close_cb(e)), lv.EVENT.SHORT_CLICKED, None)
self.meta = camera_video_answer_screen
- # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
- # camera_video_answer_btn.add_flag(lv.obj.FLAG.HIDDEN)
+
+ call_state = jrtc.get_state()
+
+ self.second_count = 0
self.statu_open = 0
+
+ self.time_out = 0
+ call_state = jrtc.get_state()
+
+ EventMesh.publish("set_UI_high_priority", 1)
+ if call_state == 5:#接通
+ camera_video_answer_label.set_text("正在通话中...")
+ camera_video_answer_label.set_pos(0, 20)
+ # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_second_label.set_text("00:00")
+ camera_video_answer_second_label.set_pos(0, 50)
+ # camera_video_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
+ # camera_video_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ video_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
+ else:
+ camera_video_answer_label.set_text("正在接听中...")
+ camera_video_answer_label.set_pos(0, 50)
+ # camera_video_answer_label.add_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_second_label.add_flag(lv.obj.FLAG.HIDDEN)
+ # camera_video_answer_btn.add_flag(lv.obj.FLAG.HIDDEN)
+ # camera_video_answer_btn_label.add_flag(lv.obj.FLAG.HIDDEN)
+ video_img_test.add_flag(lv.obj.FLAG.HIDDEN)
self.timer.start(1*1000,1,self.fun)
def close_cb(self,e):
self.statu_open = 1
- EventMesh.publish("close_jrtc_event")
-
call_id = str(EventMesh.publish("get_vedio_call_id"))#
meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
call_type = int(EventMesh.publish("get_vedio_call_type"))#
-
+ EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
+
def fun(self,*argc):
EventMesh.publish("system_sleep_rest")#防止黑屏
call_state = jrtc.get_state()
- print("call_state",call_state)
+ if call_state == 5:
+ camera_video_answer_label.set_text("正在通话中...")
+ camera_video_answer_label.set_pos(0, 20)
+ # camera_video_answer_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_second_label.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_btn.clear_flag(lv.obj.FLAG.HIDDEN)
+ camera_video_answer_btn_label.clear_flag(lv.obj.FLAG.HIDDEN)
+
+ video_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
+ self.second_count+=1
+ self.show_time()
+ # print("call_state",call_state)
if call_state == 0 and self.statu_open == 0:
self.timer.stop()
+
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("close_jrtc_event")
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+
+ return
+
+ if call_state != 5:
+ self.time_out+=1
+ if self.time_out >= 60 or (call_state == 0 and self.time_out >= 5):
+ self.time_out = 0
+ self.timer.stop()
+
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("close_jrtc_event")
+ EventMesh.publish("return_prev_screen")
+
+
+
+ def show_time(self):
+ if self.second_count >= 99*60:
+ total_hour = self.second_count//3600#小时
+ total_min = (self.second_count%3600)//60#分钟
+ total_sec = (self.second_count%3600)%60#秒
+ camera_video_answer_second_label.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
+
+ else:
+ total_min = self.second_count//60
+ total_sec = self.second_count%60
+ camera_video_answer_second_label.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
+ # camera_video_answer_second_label.set_text("%02d"%(total_min),"%02d"%(total_sec))
def Close(self):
self.timer.stop()
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ pass
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
def btn8_press(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
pass
+
+voice_call_screen = None
+voice_call_img = None
+voice_call_name_label = None
+voice_call_answer = None
+voice_call_hangup = None
+voice_call_label = None
+# CALL_LOG_MAX = 50
+class voiceInCallScreen(Screen):#语音通话打入中
+ NAME = "voice_incall"
+
+ 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.call_timer1 = osTimer()
+ self.name = None
+ self.phonebook = {}
+ self.pro_state = 0
+ self.meta = None
+ self.timeout = 0
+
+ def initialization(self):
+ global voice_call_screen,voice_call_img,voice_call_name_label,voice_call_answer,voice_call_hangup,voice_call_label
+ if voice_call_screen == None :
+ # -------------------------------------------vedio_call screen----------------------------------------------------------
+ voice_call_screen = lv.obj()
+ print("voice_call_screen")
+ voice_call_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ voice_call_label = lv.label(voice_call_screen)
+ voice_call_label.set_pos(0, 10)
+ voice_call_label.set_text("是否接听语音通话")
+ voice_call_label.set_size(128, 40)
+ voice_call_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ voice_call_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+ # vedio_call_img = lv.img(voice_call_screen)
+ # vedio_call_img.set_pos(48, 10)
+ # vedio_call_img.set_size(32, 32)
+ # vedio_call_img.set_src("U:/static/IMAGE_NOTICE_CALL.png")
+ # vedio_call_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ voice_call_name_label = lv.label(voice_call_screen)
+ voice_call_name_label.set_pos(0, 50)
+ voice_call_name_label.set_text(" ")
+ voice_call_name_label.set_size(128, 40)
+ voice_call_name_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
+ voice_call_name_label.add_style(style_font_youyuan_20, lv.PART.MAIN | lv.STATE.DEFAULT)
+
+ voice_call_answer = lv.img(voice_call_screen)
+ voice_call_answer.set_size(32, 32)
+ voice_call_answer.add_flag(lv.obj.FLAG.CLICKABLE)
+ voice_call_answer.set_pos(84, 85)
+ voice_call_answer.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ voice_call_answer.set_src("U:/static/answer.png")
+
+ voice_call_hangup = lv.img(voice_call_screen)
+ voice_call_hangup.set_size(32, 32)
+ voice_call_hangup.add_flag(lv.obj.FLAG.CLICKABLE)
+ voice_call_hangup.set_pos(11, 85)
+ voice_call_hangup.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
+ voice_call_hangup.set_src("U:/static/hang_up.png")
+
+ voice_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
+ lv.EVENT.SHORT_CLICKED, None)
+ voice_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
+ lv.EVENT.SHORT_CLICKED, None)
+ self.meta = voice_call_screen
+
+
+ EventMesh.publish("set_UI_high_priority", 1)
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+
+ voice_call_name_label.set_text(call_id)
+
+
+ def post_processor_after_initialization(self):
+ global voice_call_screen,voice_call_img,voice_call_name_label,voice_call_answer,voice_call_hangup
+ self.call_timer.start(6000, 1, self.call_timer_cb)
+ self.timeout = 0
+ self.call_timer1.start(1*1000, 1, self.get_video_state)
+ self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
+
+ def call_timer_cb(self,e):
+ self.aud.play(1, 1, 'U:/static/R_CALL_mp3.mp3') #播放来电铃声
+
+ def get_video_state(self,e):
+ call_state = jrtc.get_state()
+ # print("vedio_incall",call_state)
+ self.timeout+=1
+ if self.timeout >= 1*60:
+ self.timeout = 0
+ self.call_timer1.stop()
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ EventMesh.publish("return_prev_screen")
+
+ def answer(self,e):
+ self.call_timer.stop()
+ self.aud.stop()
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("open_vedio_infor")
+ EventMesh.publish("load_screen", {"screen": "voiceing"})
+
+ def Close(self):
+ self.call_timer.stop()
+ self.call_timer1.stop()
+ self.aud.stop()
+
+ def hangup(self,e):
+ EventMesh.publish("set_UI_high_priority", 0)
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+
+ EventMesh.publish("return_prev_screen")
+
+ def btn1_release(self):
+ pass
+
+ 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)
+ pass
+
+ def done_left_to_right(self):
+ pass
+
+ def done_right_to_left(self):
+ pass
+
+ def done_bottom_to_top(self):
+ pass
+
+ def done_top_to_bottom(self):
+ pass
+
+ def done_return(self):
+ pass
+
+
+
vedio_call_screen = None
vedio_call_img = None
vedio_call_name_label = None
vedio_call_hangup.set_src("U:/static/hang_up.png")
vedio_call_answer.add_event_cb(lambda e: EventMesh.callback_wrapper(self.answer(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
vedio_call_hangup.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.meta = vedio_call_screen
+
+ vedio_call_label.set_text("是否接听视频通话")
+
EventMesh.publish("set_UI_high_priority", 1)
call_id = str(EventMesh.publish("get_vedio_call_id"))#
def get_video_state(self,e):
call_state = jrtc.get_state()
- print("vedio_incall",call_state)
+ # print("vedio_incall",call_state)
self.timeout+=1
if self.timeout >= 1*60:
self.timeout = 0
call_type = int(EventMesh.publish("get_vedio_call_type"))#
EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
def answer(self,e):
self.call_timer.stop()
self.aud.stop()
EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("open_vedio_infor")
- EventMesh.publish("load_screen", {"screen": "vedio_answer"})
+ EventMesh.publish("load_screen", {"screen": "vedioing"})
def Close(self):
self.call_timer.stop()
call_id = str(EventMesh.publish("get_vedio_call_id"))#
meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
call_type = int(EventMesh.publish("get_vedio_call_type"))#
- EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
def btn1_release(self):
pass
def done_return(self):
pass
+
+
+
+
video_outcall_screen = None
video_outcall_img = None
video_outcall_name = None
video_outcall_hangup_imgbtn = None
video_outcall_call = None
+video_outcall_img_test = None
+video_outcall_hangup_imgbtnlabel = None
class videoOutCallScreen(Screen):#正在拨号中...未打出
NAME = "video_outcall"
self.meta_type = "popup"
self.timer1 = osTimer()
self.time_count = 0
- self.timer2 = osTimer()
- self.CALL_LOG_MAX = CALL_LOG_MAX
- self.read_call_log = {}
+ self.second_count = 0
+
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
self.time_count = 0
- global video_outcall_screen,video_outcall_img,video_outcall_name ,video_outcall_call,video_outcall_hangup_imgbtn
+ global video_outcall_screen,video_outcall_img,video_outcall_hangup_imgbtnlabel,video_outcall_img_test,video_outcall_name ,video_outcall_call,video_outcall_hangup_imgbtn
if video_outcall_screen == None:
video_outcall_screen = lv.obj()
print("video_outcall_screen")
video_outcall_screen.add_style(style_screen, lv.PART.MAIN | lv.STATE.DEFAULT)
- # img_test = lv.img(video_outcall_screen)
- # ret = jrtc.set_img(img_test)
- # img_test.align(lv.ALIGN.CENTER, 0, 0)
- # img_test.set_size(128,128)
-
- # dialing_popup_img = lv.img(video_outcall_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)
+ video_outcall_img_test = lv.img(video_outcall_screen)
+ ret = jrtc.set_img(video_outcall_img_test)
+ video_outcall_img_test.align(lv.ALIGN.CENTER, 0, 0)
+ video_outcall_img_test.set_size(128,128)
+ video_outcall_img_test.add_flag(lv.obj.FLAG.HIDDEN)
video_outcall_name = lv.label(video_outcall_screen)
- video_outcall_name.set_pos(0, 15)
+ video_outcall_name.set_pos(0, 20)
video_outcall_name.set_size(LCD_X, 20)
video_outcall_name.set_text(" ")
video_outcall_name.set_long_mode(lv.label.LONG.DOT)
video_outcall_hangup_imgbtn.add_flag(lv.obj.FLAG.CLICKABLE)
video_outcall_hangup_imgbtn.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
video_outcall_hangup_imgbtn.set_pos(48, 90)
+
+ video_outcall_hangup_imgbtnlabel = lv.label(video_outcall_screen)
+ video_outcall_hangup_imgbtnlabel.set_pos(18, 50)
+ video_outcall_hangup_imgbtnlabel.set_text(" ")
+ video_outcall_hangup_imgbtnlabel.set_size(90, 78)
+ video_outcall_hangup_imgbtnlabel.add_flag(lv.obj.FLAG.CLICKABLE)
+
+ video_outcall_hangup_imgbtnlabel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
+ lv.EVENT.SHORT_CLICKED, None)
+
video_outcall_hangup_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.hangup(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
+
+
+
self.meta = video_outcall_screen
if video_outcall_name != None:
video_outcall_name.set_text(self.meta_info)#名称
+
self.time_count = 0
+ self.second_count = 0
+ EventMesh.publish("set_UI_high_priority", 1)
+ call_state = jrtc.get_state()
+ # print("video_outcall",call_state)
+ if call_state == 5:
+ video_outcall_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
+ video_outcall_name.set_text("正在通话中...")#
+ video_outcall_name.set_pos(0, 20)
+ else:
+ video_outcall_img_test.add_flag(lv.obj.FLAG.HIDDEN)
+ video_outcall_call.set_text("正在等待对方接听中...")
+ video_outcall_call.set_pos(0, 50)
+ video_outcall_name.set_text(self.meta_info)#名称
+ video_outcall_name.set_pos(0, 20)
+
self.timer1.start(1*1000,1,self.fun_cb)
- # video_outcall_call.clear_flag(lv.obj.FLAG.HIDDEN)
- # video_outcall_name.clear_flag(lv.obj.FLAG.HIDDEN)
def post_processor_after_initialization(self):
pass
def hangup(self,e):
+ self.timer1.stop()
call_id = str(EventMesh.publish("get_vedio_call_id"))#
meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
call_type = int(EventMesh.publish("get_vedio_call_type"))#
- # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
EventMesh.publish("set_UI_high_priority", 0)
EventMesh.publish("load_screen", {"screen": "videolist"})
pass
def fun_cb(self,*argc):
call_state = jrtc.get_state()
- print("video_outcall",call_state)
+ # print("video_outcall",call_state)
EventMesh.publish("system_sleep_rest")#防止黑屏
if call_state == 5:
- self.timer1.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "vedioing"})
- self.time_count+=1
- if self.time_count >= 1*60:
- self.time_count = 0
- self.timer1.stop()
- EventMesh.publish("set_UI_high_priority", 0)
- EventMesh.publish("load_screen", {"screen": "videolist"})
+ video_outcall_img_test.clear_flag(lv.obj.FLAG.HIDDEN)
+ video_outcall_name.set_text("正在通话中...")#
+ video_outcall_name.set_pos(0, 20)
+ video_outcall_call.set_pos(0, 50)
+ self.second_count += 1
+ self.show_time()
+ if call_state != 5:
+ self.time_count+=1
+ if self.time_count >= 1*60 or (call_state == 0 and self.time_count >= 5):
+ self.time_count = 0
+ self.timer1.stop()
+ call_id = str(EventMesh.publish("get_vedio_call_id"))#
+ meet_id = str(EventMesh.publish("get_vedio_meet_id"))#
+ call_type = int(EventMesh.publish("get_vedio_call_type"))#
+ EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ # EventMesh.publish(constants.PROTOCOL.RCALLING_SEND,[call_id,meet_id,call_type])
+ EventMesh.publish("set_UI_high_priority", 0)
+ EventMesh.publish("load_screen", {"screen": "videolist"})
+
+ def show_time(self):
+
+ if self.second_count >= 99*60:
+ total_hour = self.second_count//3600#小时
+ total_min = (self.second_count%3600)//60#分钟
+ total_sec = (self.second_count%3600)%60#秒
+ video_outcall_call.set_text("{}:{}:{}".format("%02d"%(total_hour),"%02d"%(total_min),"%02d"%(total_sec)))
+
+ else:
+ total_min = self.second_count//60
+ total_sec = self.second_count%60
+ video_outcall_call.set_text("{}:{}".format("%02d"%(total_min),"%02d"%(total_sec)))
def Close(self):
self.timer1.stop()
videolist_none_label = lv.label(videolist_screen_list_screen)
videolist_none_label.set_pos(0, 20)
- videolist_none_label.set_size(LCD_X, 40)
+ videolist_none_label.set_size(LCD_X, 60)
videolist_none_label.set_text("无网络或者无SIM卡或者无添加账号")
videolist_none_label.set_long_mode(lv.label.LONG.WRAP)
videolist_none_label.set_style_text_align(lv.TEXT_ALIGN.CENTER, 0)
contact_btn = lv.btn(self.videolist_detail_list)
contact_btn.add_flag(lv.obj.FLAG.CLICKABLE)
contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
contact_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.calling_cb(e)), lv.EVENT.PRESSING, None)
contact_btn.add_flag(lv.obj.FLAG.HIDDEN)
# contact_btn.add_style(style_press_btn, lv.PART.MAIN | lv.STATE.PRESSED)
# 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)
+ # lv.EVENT.SHORT_CLICKED, None)
#contact_btn_label_1 = lv.label(contact_btn)
self.videolist_detail_listt_dict[i]["contact_btn_label_1"].set_pos(0, 0)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.screen = None
self.screen_old = None
self.screen_prev = None
+ self.screen_prev_new = None
+ self.screen_last = None
self.screen_list = []
self.lv = lv
self.system_sleep_timer = osTimer()
self.main_id = 0
self.set_interrup_flag = 0
self.UI_high_priority_flag = 0 #如果=1,则当前ui不被打断
+
+ self.page_id = ["main_menu"]
+ self.page_count = 0
+
self.level = EventMesh.publish("get_storage_config","brightness_level")
print("self.level:{}".format(self.level))
EventMesh.subscribe("publish_message_event_ui",self.publish_message_event_ui)
EventMesh.subscribe("return_prev_screen",self.return_prev_screen)
+ EventMesh.subscribe("del_prev_screen",self.del_prev_screen)#退出当前界面就删除当前界面 进去需要保存当前界面
+ EventMesh.subscribe("add_new_screen",self.add_new_screen)#保存新的界面用作返回上一级
+
self.system_sleep_timer.start(1000, 1, self.system_sleep_timer_cb)
def publish_message_event_ui(self,event,msg):
# for scr in self.screen_list:
# if scr.handle_message_event(data) == 1 :
# break
+
+ def add_new_screen(self, event, msg):
+ if msg == "main_menu":
+ if self.page_count > 0:
+ self.page_id.clear()#清空所有
+ self.page_count = 0
+ self.page_id = ["main_menu"]
+ print("add_new_screen ",self.page_id,self.page_count)
+ else:
+ if self.page_count == None:
+ self.page_count = 0
+ self.page_id.clear()#清空所有
+ self.page_id = ["main_menu"]
+ last_screen = self.page_id[int(self.page_count)]
+ print("self.page_id",last_screen,msg,self.page_id,self.page_count)
+ if last_screen != msg and (msg in last_screen) == False:
+ self.page_count+=1
+ page_pre = "{}".format(msg)
+ self.page_id.append(page_pre)
+
+ def del_prev_screen(self, event, msg):
+ if self.page_count > 0:
+ # print("del_prev_screen self.page_id",self.page_id,self.page_count)
+ if self.screen.meta_type != "popup":
+ del self.page_id[int(self.page_count)]
+ self.page_count-=1
+
+ if self.page_count == 0:
+ self.page_id.clear()#清空所有
+ self.page_id = ["main_menu"]
+
+ if self.page_count == None:
+ self.page_count = 0
+ self.page_id.clear()#清空所有
+ self.page_id = ["main_menu"]
+
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})
+ EventMesh.publish("del_prev_screen")#退出当前界面就删除当前界面 进去需要保存当前界面
+
+ pre_page = self.page_id[int(self.page_count)]
+ # print("pre_page:data = {} self.page_count:{}".format(pre_page,self.page_count))
+ if len(pre_page) == 0:#预防是空的界面
+ self.page_count = 0
+ pre_page = "main_menu"
+
+ if self.page_count == None:
+ self.page_count = 0
+
+ if self.page_count == 0:
+ pre_page = "main_menu"
+ if pre_page != None:
+ EventMesh.publish("load_screen", {"screen": pre_page})
+ # 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.set_interrup_flag = msg
if state == 1:
screen_NAME = EventMesh.publish("get_screen_NAME")
if screen_NAME != None:
- if msg["screen"] == "charge_out" or msg["screen"] == "charge_in":
- pass
+ 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 == "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 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 :
self.aud.stop()
if self.screen_old != None :
+
self.screen_old.Close() #先关闭上一次界面
self.lv.img.cache_invalidate_src(None) #清img cache
self.lv.img.cache_set_size(16) #开img cache
- if self.screen_old.meta_type != "popup": #不是弹窗,保存上一个界面,用来返回
- self.screen_prev = self.screen_old #
- self.screen_old = self.screen
+ # if self.screen_old.meta_type != "popup": #不是弹窗,保存上一个界面,用来返回
+ if self.screen.meta_type != "popup": #只要当前界面不是弹窗界面都要保存当前界面
+ # if self.screen_prev_new != self.screen:#screen_prev = setiing self.screen = imei self.screen_prev = setiing self.screen_prev_new = imei
+ # print('self.screen_prev.NAME6:{} self.screen_old:{}'.format(self.screen_old.NAME,self.screen.NAME))#第一种
+ # self.screen_prev = self.screen_prev_new
+ # self.screen_last = self.screen_prev_new
+ # self.screen_prev_new = self.screen
+ # print('self.screen_prev.NAME5:{} self.screen_prev_new:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen_prev_new.NAME,self.screen_old.NAME))
+ # else:
+ # if self.screen_last != None:
+ # self.screen_prev = self.screen_last
+
+ # print('self.screen_prev.NAME4:{} self.screen:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME,self.screen_old.NAME))
+ # print('self.screen_prev.NAME2:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME))
+ # else:
+ # if self.screen_prev_new != None:#self.screen_prev = imei self.screen_prev = imei
+ # self.screen_prev = self.screen_prev_new
+ if self.screen_old.meta_type != "popup":
+ self.screen_prev = self.screen_old #第二种方式
+ screen_new = msg["screen"]
+ # print('self.screen_prev.NAME:{} self.screen_old:{}'.format(self.screen_prev.NAME,self.screen.NAME))
+ if self.screen_prev.NAME != self.screen.NAME:
+ EventMesh.publish("add_new_screen",screen_new)#保存新的界面用作返回上一级
+
if msg.get("meta"):
self.screen.meta_info = msg.get("meta")
print("load_screen:post_processor_before_initialization")
self.lv.scr_load(self.screen.get_meta())
self.screen.post_processor_after_initialization()
+ self.screen_old = self.screen
+ # if self.screen_prev == None:
+ # self.screen_prev = self.screen
+ # if self.screen_prev_new == None:
+ # self.screen_prev_new = self.screen
self.__lcd_on()
mem = gc.mem_free()
print('2剩余内存RAM:{} KB'.format(mem / 1024))
+
watchface1_res_stat_battery_line = lv.line(Watchface1)
watchface1_res_stat_battery_line.set_points(power_line_points,2)
-watchface1_res_stat_battery_line.set_pos(int(110),int(6))
+watchface1_res_stat_battery_line.set_pos(int(103),int(6))
watchface1_res_stat_battery_line.set_size(0,10)#高度12
watchface1_res_stat_battery_line.add_style(power_line_red,0)
#天气
watchface1_weather_span = lv.label(Watchface1)
-watchface1_weather_span.set_pos(70, 100)
+watchface1_weather_span.set_pos(65, 100)
watchface1_weather_span.set_size(58, 24)
watchface1_weather_span.set_align(lv.TEXT_ALIGN.LEFT)
watchface1_weather_span.set_text("_ _")
watchface1_weather_span.add_style(style_font_youyuan_28, lv.PART.MAIN|lv.STATE.DEFAULT)
watchface1_weather_img = lv.img(Watchface1)
-watchface1_weather_img.set_pos(110, 5)
+watchface1_weather_img.set_pos(105, 5)
watchface1_weather_img.set_size(0, 0)
watchface1_weather_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
watchface1_weather_unit_img = lv.img(Watchface1)
-watchface1_weather_unit_img.set_pos(99, 5)
+watchface1_weather_unit_img.set_pos(94, 5)
watchface1_weather_unit_img.set_size(11, 11)
watchface1_weather_unit_img.set_src("U:/static/degree.png")
watchface1_weather_unit_img.add_style(style_img, lv.PART.MAIN | lv.STATE.DEFAULT)
# print("weather_type weather_temp",type(weather_type),type(weather_temp),weather_type,weather_temp)
if weather_type != None and weather_temp != None:
if int(weather_type) > 3:
- watchface1_weather_unit_img.set_pos(70+12+10, 102)
+ watchface1_weather_unit_img.set_pos(60+12+10, 102)
- watchface1_weather_span.set_pos(70,92)
+ watchface1_weather_span.set_pos(60,92)
watchface1_weather_span.set_text(str("_ _"))
- watchface1_weather_img.set_pos(70+12+8+20, 102)
+ watchface1_weather_img.set_pos(60+12+8+20, 102)
watchface1_weather_img.set_size(11, 10)
watchface1_weather_img.set_src("U:/static/04_WM.png")
else:
len_data = len(str(weather_temp))*8
- watchface1_weather_unit_img.set_pos(70+len_data+5, 102)
- watchface1_weather_span.set_pos(70,100)
+ watchface1_weather_unit_img.set_pos(60+len_data+5, 102)
+ watchface1_weather_span.set_pos(60,100)
watchface1_weather_span.set_text(str(weather_temp))
- watchface1_weather_img.set_pos(70+len_data+6+15, 103)
+ watchface1_weather_img.set_pos(60+len_data+6+15, 103)
watchface1_weather_img.set_size(11, 10)
watchface1_weather_img.set_src("U:/static/%02d_WM.png"%(int(weather_type)))
else:
- watchface1_weather_unit_img.set_pos(70+12+10, 102)
+ watchface1_weather_unit_img.set_pos(60+12+10, 102)
- watchface1_weather_span.set_pos(70,92)
+ watchface1_weather_span.set_pos(60,92)
watchface1_weather_span.set_text(str("_ _"))
- watchface1_weather_img.set_pos(70+12+8+20, 102)
+ watchface1_weather_img.set_pos(60+12+8+20, 102)
watchface1_weather_img.set_size(11, 10)
watchface1_weather_img.set_src("U:/static/04_WM.png")
else:
- watchface1_weather_unit_img.set_pos(70+12+10, 102)
+ watchface1_weather_unit_img.set_pos(60+12+10, 102)
- watchface1_weather_span.set_pos(70,92)
+ watchface1_weather_span.set_pos(60,92)
watchface1_weather_span.set_text(str("_ _"))
- watchface1_weather_img.set_pos(70+12+8+20, 102)
+ watchface1_weather_img.set_pos(60+12+8+20, 102)
watchface1_weather_img.set_size(11, 10)
watchface1_weather_img.set_src("U:/static/04_WM.png")
def __battery(self, event, msg):
#print("__battery_cb:",str(msg))
- print("__battery",msg)
+ # print("__battery",msg)
if msg[0] == '1':
watchface1_res_stat_battery_line.set_pos(int(0),int(0))
watchface1_res_stat_battery_line.set_size(0,0)
line_len = 5
if level <= 5:
level = 5
-
line_points = [
{"x":0, "y":0},
{"x":line_len, "y":0},
print("MainMenu1:__init__")
# MainMenu2_til.add_event_cb(lambda e: EventMesh.callback_wrapper(self.scroll_begin_event(e)),lv.EVENT.ALL,None)
#lv_obj_add_event_cb(lv_tabview_get_content(tabview), scroll_begin_event, LV_EVENT_SCROLL_END, NULL);
- MainMenu2_img_phone.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "Phone")), lv.EVENT.CLICKED, None)
- MainMenu2_img_toolbox.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "toolbox")), lv.EVENT.CLICKED, None)
- MainMenu2_img_setting.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "setting")), lv.EVENT.CLICKED, None)
- MainMenu2_img_add_friends.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "pp_main")), lv.EVENT.CLICKED, None)
- MainMenu2_img_camera_video.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "videolist")), lv.EVENT.CLICKED, None)
- MainMenu2_img_camera.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "camera")), lv.EVENT.CLICKED, None)
- MainMenu2_img_camera_album.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "camera_album")), lv.EVENT.CLICKED, None)
- MainMenu2_img_contacts.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "contacts")), lv.EVENT.CLICKED, None)
- MainMenu2_img_wechat.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "wechat")), lv.EVENT.CLICKED, None)
- # MainMenu2_img_spo2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "spo2")), lv.EVENT.CLICKED, None)
- #MainMenu2_img_sms.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "popup")), lv.EVENT.CLICKED, None)
+ MainMenu2_img_phone.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "Phone")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_toolbox.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "toolbox")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_setting.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "setting")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_add_friends.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "pp_main")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_camera_video.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "videolist")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_camera.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "camera")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_camera_album.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "camera_album")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_contacts.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "contacts")), lv.EVENT.SHORT_CLICKED, None)
+ MainMenu2_img_wechat.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "wechat")), lv.EVENT.SHORT_CLICKED, None)
+ # MainMenu2_img_spo2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "spo2")), lv.EVENT.SHORT_CLICKED, None)
+ #MainMenu2_img_sms.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "popup")), lv.EVENT.SHORT_CLICKED, None)
MainMenu2_img_phone.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "Phone")), lv.EVENT.PRESSING, None)
MainMenu2_img_toolbox.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "toolbox")), lv.EVENT.PRESSING, None)
MainMenu2_img_camera_album.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "camera_album")), lv.EVENT.PRESSING, None)
MainMenu2_img_contacts.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "contacts")), lv.EVENT.PRESSING, None)
MainMenu2_img_wechat.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "wechat")), lv.EVENT.PRESSING, None)
- # MainMenu2_img_spo2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "spo2")), lv.EVENT.CLICKED, None)
- #MainMenu2_img_sms.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "popup")), lv.EVENT.CLICKED, None)
+ # MainMenu2_img_spo2.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "spo2")), lv.EVENT.SHORT_CLICKED, None)
+ #MainMenu2_img_sms.add_event_cb(lambda e: EventMesh.callback_wrapper(self.img_cb(e, "popup")), lv.EVENT.SHORT_CLICKED, None)
EventMesh.subscribe("watch_top_show", self.watch_top_show)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
# print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.is_sliding = 0
self.is_left_sliding = 0
self.meta = setting_screen
- # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
- # setting_dialswitch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.CLICKED ), None)
- # setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.CLICKED ), None)
- # setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), (lv.EVENT.CLICKED ), None)
- # setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "brightness")), (lv.EVENT.CLICKED ), None)
- # setting_volume_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.CLICKED ), None)
- # setting_restore_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), (lv.EVENT.CLICKED ), None)
- # setting_poweroff_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.CLICKED ), None)
- # setting_update_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.CLICKED ), None)
- # setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.CLICKED ), None)
+ # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.SHORT_CLICKED, None)
+ # setting_dialswitch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "brightness")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_volume_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_restore_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_poweroff_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_update_label_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.SHORT_CLICKED ), None)
# img regist btton
- # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), (lv.EVENT.CLICKED ), None)
- # setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.CLICKED ), None)
-
- setting_imei_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.CLICKED ), None)
- setting_app_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), (lv.EVENT.CLICKED ), None)
- setting_bright_img_btn_1.add_event_cb(lambda e:EventMesh.callback_wrapper( self.ui_setting_cb(e, "brightness")), (lv.EVENT.CLICKED ), None)
- setting_volume_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.CLICKED ), None)
- setting_restore_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), (lv.EVENT.CLICKED ), None)
- setting_poweroff_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.CLICKED ), None)
- setting_restart_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restart")), lv.EVENT.CLICKED, None)
- # setting_update_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.CLICKED ), None)
- setting_version_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.CLICKED ), None)
- setting_dialswitch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), lv.EVENT.CLICKED, None)
-
- # # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
+ # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), (lv.EVENT.SHORT_CLICKED ), None)
+ # setting_dialswitch_img.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), (lv.EVENT.SHORT_CLICKED ), None)
+
+ setting_imei_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_app_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_bright_img_btn_1.add_event_cb(lambda e:EventMesh.callback_wrapper( self.ui_setting_cb(e, "brightness")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_volume_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "totalvolume")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_restore_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restore")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_poweroff_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "poweroff")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_restart_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "restart")), lv.EVENT.SHORT_CLICKED, None)
+ # setting_update_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "update")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_version_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), (lv.EVENT.SHORT_CLICKED ), None)
+ setting_dialswitch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), lv.EVENT.SHORT_CLICKED, None)
+
+ # # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.SHORT_CLICKED, None)
# setting_imei_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), lv.EVENT.PRESSING, None)
# setting_app_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), lv.EVENT.PRESSING, None)
# setting_bright_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "brightness")), lv.EVENT.PRESSING, None)
# setting_version_label.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "version")), lv.EVENT.PRESSING, None)
# img regist btton
- # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.CLICKED, None)
+ # setting_language.add_event_cb(lambda e: self.load_screen(e, {"screen": "language"}), lv.EVENT.SHORT_CLICKED, None)
setting_dialswitch_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "dialswitch")), lv.EVENT.PRESSING, None)
- # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.CLICKED, None)
+ # setting_themeswitch.add_event_cb(lambda e: self.load_screen(e, {"screen": "themeswitch"}), lv.EVENT.SHORT_CLICKED, None)
setting_imei_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "imei")), lv.EVENT.PRESSING, None)
setting_app_img_btn_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.ui_setting_cb(e, "app")), lv.EVENT.PRESSING, None)
setting_bright_img_btn_1.add_event_cb(lambda e:EventMesh.callback_wrapper( self.ui_setting_cb(e, "brightness")), lv.EVENT.PRESSING, None)
#print("PRESSING")
self.is_sliding += 1
- elif code == lv.EVENT.CLICKED:
+ elif code == lv.EVENT.SHORT_CLICKED:
#utime.sleep_ms(10)
print("1self.is_sliding",self.is_sliding)
if self.is_sliding <= 5 and self.is_sliding != 0:#如果是在滑动中则不需要点击事件
self.is_sliding =0
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "main_menu"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "main_menu"})
def btn1_release(self):
EventMesh.publish("return_setiing")
def __init__(self):
super().__init__()
self.meta = restore_screen
- restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
- restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
+ restore_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.SHORT_CLICKED, None)
+ restore_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.SHORT_CLICKED, None)
def confirm(self, e):
EventMesh.publish("load_screen", {"screen": "restore_confirm"})
def concel(self, e):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
super().__init__()
self.meta = restart_screen
self.old_x = 0
- # restart_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.CLICKED, None)
- # restart_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.CLICKED, None)
+ # restart_confirm.add_event_cb(lambda e: EventMesh.callback_wrapper(self.confirm(e)),lv.EVENT.SHORT_CLICKED, None)
+ # restart_cancel.add_event_cb(lambda e: EventMesh.callback_wrapper(self.concel(e)),lv.EVENT.SHORT_CLICKED, None)
screen_slider_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e)), lv.EVENT.VALUE_CHANGED, None)
screen_slider_1.add_event_cb(lambda e: EventMesh.callback_wrapper(self.save_choice(e)), lv.EVENT.RELEASED, None)
EventMesh.publish("load_screen", {"screen": "setting"})
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
def __init__(self):
super().__init__()
self.meta = update_screen
- update_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.back(e)),lv.EVENT.CLICKED, None)
+ update_return.add_event_cb(lambda e: EventMesh.callback_wrapper(self.back(e)),lv.EVENT.SHORT_CLICKED, None)
def back(self,e):
EventMesh.publish("load_screen", {"screen": "setting"})
EventMesh.publish("load_screen", {"screen": "factorymode"})
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
pass
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def confirm(self, e):
EventMesh.publish("load_screen", {"screen": "poweroff_comfirm"})
self.meta = poweroff_confirm_screen
self.timer = osTimer()
self.aud = audio.Audio(0)
+ self.meta_type = "popup"
def initialization(self):
self.timer1 = osTimer()
self.timer2 = osTimer()
self.aud = audio.Audio(0)
+ self.meta_type = "popup"
self.aud.set_pa(Pin.GPIO29)
self.volum_size = 8
check_volum = EventMesh.publish("get_storage_config","volum")
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)
+ lv.EVENT.SHORT_CLICKED, None)
self.dial_num = 1
self.move = 0
self.timer= osTimer()
def watchface01(self,e):
code = e.get_code()
- # if code == lv.EVENT.CLICKED:
+ # if code == lv.EVENT.SHORT_CLICKED:
# self.timer.start(50,0,self.enter_main_show)
self.enter_main_show(0)
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def done_left_to_right(self):#右滑
pass
imei_label.set_text(imei)
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
app_label.set_text(imei)
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
self.read_data = {}
self.meta = brightness_screen
brightness_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
brightness_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
brightness_time_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_time_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
brightness_time_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_time_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def initialization(self):
self.level = EventMesh.publish("get_brightness_level")
self.time = EventMesh.publish("get_brightness_time")
def done_return(self):
- EventMesh.publish("load_screen", {"screen": "setting"})
+ EventMesh.publish("return_prev_screen")
+ # EventMesh.publish("load_screen", {"screen": "setting"})
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
def __init__(self):
super().__init__()
self.meta = volume_screen
- volume_phone_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "phonering"})), lv.EVENT.CLICKED, None)
- volume_message_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "msgvolume"})), lv.EVENT.CLICKED, None)
- volume_alarm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "alarmvolume"})), lv.EVENT.CLICKED, None)
+ volume_phone_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "phonering"})), lv.EVENT.SHORT_CLICKED, None)
+ volume_message_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "msgvolume"})), lv.EVENT.SHORT_CLICKED, None)
+ volume_alarm_btn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.load_screen(e, {"screen": "alarmvolume"})), lv.EVENT.SHORT_CLICKED, None)
def done_return(self):
EventMesh.publish("load_screen", {"screen": "setting"})
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)
+ lv.EVENT.SHORT_CLICKED, None)
phonering_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
phonering_add_imgbtn.set_ext_click_area(20)
phonering_reduce_imgbtn.set_ext_click_area(20)
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)
+ lv.EVENT.SHORT_CLICKED, None)
alarmvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def add_level(self, e):
EventMesh.publish("push_add_alarmvolume_level")
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)
+ lv.EVENT.SHORT_CLICKED, None)
msgvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_level(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
def add_level(self, e):
EventMesh.publish("push_add_msgvolume_level")
super().__init__()
self.meta = volume_adjust_screen
totalvolume_add_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.add_volum_size(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
totalvolume_reduce_imgbtn.add_event_cb(lambda e: EventMesh.callback_wrapper(self.reduce_volum_size(e)),
- lv.EVENT.CLICKED, None)
+ lv.EVENT.SHORT_CLICKED, None)
self.read_data = {}
self.volum_size = 8
self.aud = audio.Audio(0)
def done_return(self):
self.aud.stop()
- EventMesh.publish("load_screen", {"screen": "setting"})
+
+ EventMesh.publish("return_prev_screen")
def btn1_release(self):
EventMesh.publish("load_screen", {"screen": "setting"})
self.timer = osTimer()
self.aud = audio.Audio(0)
self.alarm_count = 0
+ self.meta_type = "popup"
def initialization(self):
self.alarm_count = 0
self.read_call_log = {}
self.number_tmp = {}
self.CALL_LOG_MAX = CALL_LOG_MAX
+ self.meta_type = "popup"
+
+
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
global dialing_screen,dialing_img,dialing_name ,hangup_imgbtn
self.pro_state = 0
self.meta = None
-
+ self.meta_type = "popup"
self.call_log = {}
self.call_log_value = {}
self.read_call_log = {}
self.phone_list = []
self.button = 0
self.mute_btn = 0
+ self.meta_type = "popup"
def initialization(self):
EventMesh.publish("set_UI_high_priority", 1)
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
# self.aud.setVolume(self.volum_size)
self.FIND_timer = osTimer()
self.FIND_timer_count = 0
-
+ self.meta_type = "popup"
self.meta = None
def initialization(self):
def __init__(self):
super().__init__()
self.meta = None
+ self.meta_type = "popup"
def initialization(self):
global Lowpower_screen ,Lowpower_screen_img
super().__init__()
self.meta = None
self.timer = osTimer()
+ self.meta_type = "popup"
def initialization(self):
global LowOnePower_screen ,LowOnePower_screen_img ,LowOnePower_screen_label2,LowOnePower_screen_label1
self.meta = None
self.system_init_timer=osTimer()
self.system_init_timer_count = 0
+ self.meta_type = "popup"
def initialization(self):
global system_init_screen ,system_init_label
super().__init__()
self.meta = None
self.timer = osTimer()
+ self.meta_type = "popup"
def initialization(self):
global class_mgr_popup_screen ,class_mgr_popup_label ,class_mgr_popup_time1_text
if class_mgr_popup_screen == None:
self.timer = osTimer()
self.aud = audio.Audio(0)
self.aud.set_pa(Pin.GPIO29)
+ self.meta_type = "popup"
self.volum_size = 8
check_volum = EventMesh.publish("get_storage_config","volum")
if check_volum != None:
self.meta = poweroff_confirm_screen
self.timer = osTimer()
self.count = 0
+ self.meta_type = "popup"
def initialization(self):
step = EventMesh.publish("get_old_step_value")