实现CamInfo功能

This commit is contained in:
zyj 2023-11-07 20:00:36 +08:00
parent 56a56dd97e
commit 6182a5e3da
3 changed files with 146 additions and 100 deletions

View File

@ -8,6 +8,8 @@
#include "sf_message_queue.h"
#include "sf_fileMng.h"
#include "sf_common.h"
#include <kwrap/util.h>
#include "sf_commu_mcu_reg.h"
TMDEF_BEGIN_OPTIONS(NETWORK_SELECTION)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_1, TM_OPTION_ENABLE)
TMDEF_OPTION_TEXT_S(NETWORK_SELECTION_2, TM_OPTION_ENABLE)
@ -776,8 +778,10 @@ void Option_Password_Key(lv_obj_t* obj, uint32_t key)
// --------------------------------------------------------------------------
static int CameraInfoIndex = 0;
static lv_obj_t *CameraInfolabel = NULL;
static lv_obj_t *CameraInfoImage = NULL;
static int CameraInfoisHidden = 1;
static lv_obj_t *CameraInfoTabLabel = NULL;
static int CameraInfoQlogisHidden = 1;
static int CameraInfoDebugisHidden = 1;
static lv_obj_t * btnm = NULL;
static const char * map[] = {"1", "2", "3", ""};
static void update_Camera_Info_msg(lv_obj_t* obj)
@ -788,43 +792,28 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
{
lv_color_t color = {0};
lv_style_init(&LabelStyle);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&LabelStyle, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x8b, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&LabelStyle, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&LabelStyle, LV_STATE_DEFAULT, color);
lv_style_set_text_font(&LabelStyle,LV_STATE_DEFAULT,&sf_ui_text_medium_18_8bpp);
lv_style_set_text_line_space(&LabelStyle, LV_STATE_DEFAULT, 4);
lv_style_set_text_line_space(&LabelStyle, LV_STATE_DEFAULT, -2);
lv_style_copy(&FocusedLabelStyle, &LabelStyle);
STYLE_COLOR_PROP(0x10, 0x95, 0xC9, 0x3D) ; lv_style_set_text_color(&FocusedLabelStyle, LV_STATE_DEFAULT, color);
CameraInfolabel = lv_label_create(obj, NULL);
lv_label_set_text(CameraInfolabel, "");
lv_obj_set_pos(CameraInfolabel, 10, 45);
lv_obj_set_width(CameraInfolabel, 300);
lv_obj_add_style(CameraInfolabel, 0, &LabelStyle);
// CameraInfoTabLabel = lv_label_create(obj, NULL);
// // lv_obj_set_style_local_text_color(CameraInfoTabLabel, LV_LABEL_PART_MAIN, LV_STATE_DEFAULT, lv_color_hex(0xffffff));
// lv_label_set_recolor(CameraInfoTabLabel, true);
// lv_label_set_text(CameraInfoTabLabel, "#ff 1# #ffff 2# #ffffff 3#");
// // lv_obj_set_pos(CameraInfoTabLabel, 10, 210);
// lv_obj_set_width(CameraInfolabel, 300);
// lv_obj_align(CameraInfoTabLabel, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
// lv_obj_add_style(CameraInfoTabLabel, 0, &FocusedLabelStyle);
// lv_obj_set_width(CameraInfoTabLabel, 320);
// lv_obj_set_style_text_align(CameraInfoTabLabel, LV_TXT_FLAG_CENTER, LV_STATE_DEFAULT);//ALIGN_LEFT/RIGHT/CENTER
// lv_label_set_align(CameraInfoTabLabel, LV_LABEL_ALIGN_CENTER);
}
UIMenuStoreInfo *puiPara = sf_ui_para_get();
char CamInfoStr[256] = {0};
char tmpStr[64] = {0};
UINT8 mcuversion[64] = {0};
if(CameraInfoIndex == 0)
{
for(int i=0;i<6;i++)
for(int i=0;i<7;i++)
{
memset(tmpStr, 0, sizeof(tmpStr));
switch(i)
@ -833,42 +822,43 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
strcat(CamInfoStr, "Ver:R5.0\n");
break;
case 1:
if(!CameraInfoisHidden)
if(!CameraInfoQlogisHidden)
{
sprintf(tmpStr, "Qlog %s\n", puiPara->QLogSwitch ? "ON" : "OFF");
strcat(CamInfoStr, tmpStr);
}
else if(!CameraInfoisHidden)
strcat(CamInfoStr, "7MR5RCwD801\n");
}
else if(puiPara->QLogSwitch)
{
strcat(CamInfoStr, "Qlog ON\n");
}
else
{
strcat(CamInfoStr, "Qlog OFF\n");
}
strcat(CamInfoStr, "\n");
break;
case 2:
sprintf(tmpStr, "IMEI:%s\n", puiPara->ModuleImei);
sf_mcu_version_get(mcuversion);
sprintf(tmpStr, "MCU:%s\n",mcuversion);
strcat(CamInfoStr, tmpStr);
break;
case 3:
sprintf(tmpStr, "MCU:\n");
strcat(CamInfoStr, tmpStr);
strcat(CamInfoStr, "\n");
break;
case 4:
if(!CameraInfoisHidden)
{
strcat(CamInfoStr, "7MR5RCwD801\n");
}
else if(puiPara->DebugMode)
{
strcat(CamInfoStr, "Debug ON\n");
}
else
{
strcat(CamInfoStr, "Debug OFF\n");
}
sprintf(tmpStr, "IMEI:%s\n", puiPara->ModuleImei);
strcat(CamInfoStr, tmpStr);
break;
case 5:
if(!CameraInfoDebugisHidden)
{
sprintf(tmpStr, "Debug %s\n", puiPara->DebugMode ? "ON" : "OFF");
strcat(CamInfoStr, tmpStr);
}
else if(!CameraInfoisHidden)
{
sprintf(tmpStr, "%s\n", puiPara->ModuleSubver);
strcat(CamInfoStr, tmpStr);
}
else
strcat(CamInfoStr, "\n");
break;
case 6:
sprintf(tmpStr, "MOD:%s\n", puiPara->ModuleVer);
strcat(CamInfoStr, tmpStr);
break;
@ -879,7 +869,7 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
}
else if(CameraInfoIndex == 1)
{
for(int i=0;i<5;i++)
for(int i=0;i<7;i++)
{
memset(tmpStr, 0, sizeof(tmpStr));
switch(i)
@ -889,24 +879,35 @@ static void update_Camera_Info_msg(lv_obj_t* obj)
strcat(CamInfoStr, tmpStr);
break;
case 1:
sprintf(tmpStr, "ICCID-A:\n");
strcat(CamInfoStr, tmpStr);
strcat(CamInfoStr, "\n");
break;
case 2:
sprintf(tmpStr, "ICCID-V:\n");
sprintf(tmpStr, "ICCID-A:%s\n", puiPara->SimIccidA);
strcat(CamInfoStr, tmpStr);
break;
case 3:
strcat(CamInfoStr, "\n");
break;
case 4:
sprintf(tmpStr, "ICCID-V:%s\n", puiPara->SimIccidV);
strcat(CamInfoStr, tmpStr);
break;
case 5:
strcat(CamInfoStr, "\n");
break;
case 6:
sprintf(tmpStr, "SSID:%s\n", puiPara->strSSID);
strcat(CamInfoStr, tmpStr);
break;
case 4:
sprintf(tmpStr, "BLE:%s\n", puiPara->BluSsid);
strcat(CamInfoStr, tmpStr);
default:
break;
}
}
}
}
else if(CameraInfoIndex == 2)
{
sprintf(tmpStr, "BLE:%s\n", puiPara->BluSsid);
strcat(CamInfoStr, tmpStr);
}
lv_btnmatrix_set_focused_btn(btnm, CameraInfoIndex);
@ -919,42 +920,29 @@ void show_Camera_Info_page(lv_obj_t* obj)
{
CameraInfoIndex = 0;
CameraInfoisHidden = 1;
CameraInfoQlogisHidden = 1;
CameraInfoDebugisHidden = 1;
lv_color_t color = {0};
static lv_style_t style_bg;
lv_style_init(&style_bg);
lv_style_set_pad_all(&style_bg, LV_STATE_DEFAULT, 0);
lv_style_set_clip_corner(&style_bg, LV_STATE_DEFAULT, true);
lv_style_set_radius(&style_bg, LV_STATE_DEFAULT, LV_RADIUS_CIRCLE);
lv_style_set_border_width(&style_bg, LV_STATE_DEFAULT, 0);
color.full = 0x1; lv_style_set_bg_color(&style_bg, LV_STATE_DEFAULT, color);
color.full = 0x1; lv_style_set_bg_color(&style_bg, LV_STATE_FOCUSED, color);
static lv_style_t style_btn;
lv_style_init(&style_btn);
lv_style_set_radius(&style_btn, LV_STATE_DEFAULT, 0);
lv_style_set_border_width(&style_btn, LV_STATE_DEFAULT, 1);
lv_style_set_border_opa(&style_btn, LV_STATE_DEFAULT, LV_OPA_50);
lv_style_set_border_side(&style_btn, LV_STATE_DEFAULT, LV_BORDER_SIDE_INTERNAL);
lv_style_set_radius(&style_btn, LV_STATE_DEFAULT, 0);
color.full = 0x1; lv_style_set_bg_color(&style_btn, LV_STATE_DEFAULT, color);
color.full = 0x1; lv_style_set_bg_color(&style_btn, LV_STATE_FOCUSED, color);
color.full = 0x2; lv_style_set_text_color(&style_btn, LV_STATE_DEFAULT, color);
color.full = 0xc8;lv_style_set_text_color(&style_btn, LV_STATE_FOCUSED, color);
init_Matrix_style();
btnm = lv_btnmatrix_create(lv_scr_act(), NULL);
lv_btnmatrix_set_map(btnm, map);
lv_obj_add_style(btnm, 0, &style_bg);
lv_obj_add_style(btnm, 1, &style_btn);
lv_obj_set_pos(btnm, 10, 210);
lv_obj_set_size(btnm, 225, 35);
lv_obj_add_style(btnm, 0, &gMatrixStylebg);
lv_obj_add_style(btnm, 1, &gMatrixStylebtn);
lv_obj_set_pos(btnm, 130, 207);
lv_obj_set_size(btnm, 60, 25);
lv_btnmatrix_set_btn_ctrl_all(btnm, LV_BTNMATRIX_CTRL_CHECKABLE);
lv_btnmatrix_set_focused_btn(btnm, 0);
CameraInfoImage = lv_img_create(lv_scr_act(), NULL);
lv_obj_set_hidden(CameraInfoImage, false);
lv_obj_set_click(CameraInfoImage, false);
lv_obj_set_drag(CameraInfoImage, false);
lv_obj_set_pos(CameraInfoImage, 93, 200);
lv_obj_set_size(CameraInfoImage, 134, 40);
lv_img_set_src(CameraInfoImage, &sf_next3);
update_Camera_Info_msg(obj);
}
@ -963,49 +951,85 @@ void hidde_Camera_Info_page(void)
{
printf("[hidde_Camera_Info_page]\n");
CameraInfoIndex = 0;
CameraInfoisHidden = 0;
CameraInfoisHidden = 1;
CameraInfoQlogisHidden = 1;
CameraInfoDebugisHidden = 1;
if(CameraInfolabel)
{
lv_obj_del(CameraInfolabel);
}
if(CameraInfoTabLabel)
if(CameraInfoImage)
{
lv_obj_del(CameraInfoTabLabel);
lv_obj_del(CameraInfoImage);
}
if(btnm)
{
lv_obj_del(btnm);
}
}
void Option_CAMERA_INFO_Key_Long_Press(lv_obj_t* obj, uint32_t key)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("[%s]key:%d\n", __FUNCTION__, key);
switch(key)
{
case LV_USER_KEY_NEXT:
puiPara->QLogSwitch = puiPara->QLogSwitch ? 0 : 1;
CameraInfoQlogisHidden = 0;
update_Camera_Info_msg(obj);
break;
case LV_USER_KEY_PREV:
puiPara->DebugMode = puiPara->DebugMode ? 0 : 1;
CameraInfoDebugisHidden = 0;
update_Camera_Info_msg(obj);
break;
case LV_USER_KEY_LEFT:
break;
case LV_USER_KEY_RIGHT:
CameraInfoisHidden = 0;
update_Camera_Info_msg(obj);
break;
case LV_KEY_ENTER:
break;
default:
break;
}
}
void Option_CAMERA_INFO_Key(lv_obj_t* obj, uint32_t key)
{
UIMenuStoreInfo *puiPara = sf_ui_para_get();
printf("key:%d\n",key);
printf("[%s]key:%d\n", __FUNCTION__, key);
switch(key)
{
case LV_USER_KEY_NEXT:
printf("\033[33m[Option_CAMERA_INFO_Key]s\033[0m\n");
puiPara->QLogSwitch = puiPara->QLogSwitch ? 0 : 1;
CameraInfoQlogisHidden = 1;
update_Camera_Info_msg(obj);
break;
case LV_USER_KEY_PREV:
printf("\033[33m[Option_CAMERA_INFO_Key]w\033[0m\n");
puiPara->DebugMode = puiPara->DebugMode ? 0 : 1;
CameraInfoDebugisHidden = 1;
update_Camera_Info_msg(obj);
break;
case LV_USER_KEY_LEFT:
printf("\033[33m[Option_CAMERA_INFO_Key]a\033[0m\n");
CameraInfoIndex--;
if(CameraInfoIndex < 0)
CameraInfoIndex = 0;
update_Camera_Info_msg(obj);
break;
case LV_USER_KEY_RIGHT:
printf("\033[33m[Option_CAMERA_INFO_Key]d\033[0m\n");
CameraInfoIndex++;
if(CameraInfoIndex > 1)
CameraInfoIndex = 1;
if(!CameraInfoisHidden)
{
CameraInfoisHidden = 1;
}
else
{
CameraInfoIndex++;
if(CameraInfoIndex > 2)
CameraInfoIndex = 2;
}
update_Camera_Info_msg(obj);
break;
case LV_KEY_ENTER:
printf("\033[33m[Option_CAMERA_INFO_Key]SELECT\033[0m\n");
lv_plugin_scr_close(obj, gen_nvtmsg_data(NVTRET_ENTER_MENU, 0));
hidde_Camera_Info_page();
break;
@ -1043,16 +1067,16 @@ void show_Camera_Name_page(lv_obj_t* obj)
// lv_style_set_bg_opa(&Camera_Name_style,LV_STATE_DEFAULT,0);
// lv_style_set_border_width(&Camera_Name_style,LV_STATE_DEFAULT,0);
// lv_style_set_text_font(&Camera_Name_style,LV_STATE_FOCUSED|LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp);
// STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
// STYLE_COLOR_PROP(0x8b, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
// STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
// STYLE_COLOR_PROP(0x06, 0x24, 0xfd, 0x0d) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_FOCUSED, color);
static lv_style_t Camera_Name_style;
lv_style_init(&Camera_Name_style);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x8b, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
STYLE_COLOR_PROP(0x02, 0xff, 0xff, 0xff) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_DEFAULT, color);
lv_style_set_text_font(&Camera_Name_style,LV_STATE_DEFAULT,&sf_ui_text_bold_20_8bpp);
STYLE_COLOR_PROP(0x01, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x8b, 0x00, 0x00, 0x00) ; lv_style_set_bg_color(&Camera_Name_style, LV_STATE_FOCUSED, color);
STYLE_COLOR_PROP(0x06, 0x24, 0xfd, 0x0d) ; lv_style_set_text_color(&Camera_Name_style, LV_STATE_FOCUSED, color);
for(int i = 0; i < 4; i++) {

View File

@ -18,5 +18,6 @@ extern void hidde_Camera_Name_page(void);
extern void Option_Network_Selection_Key(lv_obj_t* obj, uint32_t key);
extern void Option_Password_Key(lv_obj_t* obj, uint32_t key);
extern void Option_CAMERA_INFO_Key(lv_obj_t* obj, uint32_t key);
extern void Option_CAMERA_INFO_Key_Long_Press(lv_obj_t* obj, uint32_t key);
extern void Option_Camera_Name_Key(lv_obj_t* obj, uint32_t key);
#endif

View File

@ -11,6 +11,9 @@
// #include "sf_4g_lpa.h"
#define OPTION_PAGE_NUM 5
#define LONG_PRESS_INTERVAL 500
static unsigned long KeyPressingTimeMs = 0;
static lv_group_t* gp = NULL;
static lv_obj_t* menu_option = NULL;
@ -835,11 +838,29 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
// LV_MenuOption_OnSelected(obj);
// break;
case LV_USER_EVENT_KEY_LONG_PRESS:
{
uint32_t* key = (uint32_t*)lv_event_get_data();
// printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_LONG_PRESS key:%d\033[0m\n", *key);
switch(itemID)
{
case IDM_CAMERA_INFO:
KeyPressingTimeMs += LONG_PRESS_INTERVAL;
if(KeyPressingTimeMs == 10 * 1000)
Option_CAMERA_INFO_Key_Long_Press(obj, *key);
break;
default:
break;
}
break;
}
// case LV_EVENT_KEY:
case LV_USER_EVENT_KEY_RELEASE:
{
uint32_t* key = (uint32_t*)lv_event_get_data();
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_EVENT_KEY key:%d\033[0m\n", *key);
printf("\033[33m[UIFlowMenuCommonOptionEventCallback]LV_USER_EVENT_KEY_RELEASE key:%d\033[0m\n", *key);
/* handle key event */
switch(itemID)
{
@ -954,7 +975,7 @@ void UIFlowMenuCommonOptionEventCallback(lv_obj_t* obj, lv_event_t event)
break;
}
KeyPressingTimeMs = 0;
/***********************************************************************************
* IMPORTANT!!