IMG_TYPE_BATTERY_UNIT, //103
IMG_TYPE_BATTERY_PERCENT, //104
IMG_TYPE_BATTERY_SIGN, //105
+ IMG_TYPE_BATTERY_CHARGE, //106
IMG_TYPE_SLEEP_QUALITY = ELEMENT_TYPE_SLEEP_QUALITY * 10,//110
IMG_TYPE_SLEEP_QUALITY_VALUE,//111
IMG_TYPE_USER_PNG = ELEMENT_TYPE_USER * 10, // display a static image
+ IMG_TYPE_SIGNAL = ELEMENT_TYPE_SIGNAL *10,
+
IMG_TYPE_BG = ELEMENT_TYPE_BG_SWITCH * 10, //150
};
typedef uint8_t watch_img_type_t;
LABEL_TYPE_LUNAR , //27
LABEL_TYPE_SIGNAL_NUMBER_PERCENT, // 28
LABEL_TYPE_BATTERY_NUMBER_PERCENT, // 29
+ LABEL_TYPE_SIGNAL, // 30
+ LABEL_TYPE_SIGNAL_REGISTER_STATE, // 31
};
typedef uint8_t watch_label_type_t;
nv_watch_health_info_t health_info = {0};
lv_point_t pos;
+ _lv_memset_00(infotxt, len);
+
if(ELEMENT_TYPE_WEEK == base->element_type || ELEMENT_TYPE_DATE == base->element_type
|| ELEMENT_TYPE_TIME_DIGIT == base->element_type || ELEMENT_TYPE_AM_PM == base->element_type) {
Hal_Rtc_Gettime(&tm);
snprintf(infotxt, len, "%d%%", Hal_Battery_Get_Status());
dial_create_canvas_text(infotxt, label_dsc->label_font, label_dsc->text_color, pos.x + label_dsc->text_pos.x, pos.y + label_dsc->text_pos.y);
break;
+
+ case LABEL_TYPE_SIGNAL:
+ #ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__
+ if(true == watch_modem_sim_present_check_req())
+ {
+ MMI_MODEM_PLMN_RAT rat;
+ watch_modem_get_operator_req(&rat);
+
+ /* 2G/4G icon */
+ if(MMI_MODEM_PLMN_RAT_LTE == rat)
+ {
+ #if defined(MMI_PROJECT_Z5_DS_Z12_COMMON) || defined(MMI_PROJECT_Z5_DS_Z11_COMMON)
+ sprintf(infotxt, "5G");
+ #else
+ sprintf(infotxt, "4G");
+ #endif
+ }
+ else if(MMI_MODEM_PLMN_RAT_UMTS == rat)
+ sprintf(infotxt, "3G");
+ else if(MMI_MODEM_PLMN_RAT_GSM == rat)
+ sprintf(infotxt, "2G");
+ }
+ dial_create_canvas_text(infotxt, label_dsc->label_font, label_dsc->text_color, pos.x + label_dsc->text_pos.x, pos.y + label_dsc->text_pos.y);
+ #endif
+ break;
+
+ case LABEL_TYPE_SIGNAL_REGISTER_STATE:
+ #ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__
+ if(true == watch_modem_sim_present_check_req())
+ {
+ MMI_MODEM_PLMN_RAT rat;
+ watch_modem_get_operator_req(&rat);
+
+ if(MMI_MODEM_PLMN_RAT_LTE == rat)
+ {
+ /* IMS register state */
+ uint8_t ims_reg_state = watch_modem_get_ims_reg_state_req();
+ if(1 == ims_reg_state)
+ sprintf(infotxt, "HD");
+ }
+ else if(MMI_MODEM_PLMN_RAT_UMTS == rat)
+ {
+ /* UMTS register state */
+ uint8_t umts_reg_state = watch_modem_get_umts_reg_state_req();
+ if(0 == umts_reg_state)
+ sprintf(infotxt, "W");
+ else if(1 == umts_reg_state)
+ sprintf(infotxt, "TD");
+ else if(2 == umts_reg_state)
+ sprintf(infotxt, "H");
+ }
+ else if(MMI_MODEM_PLMN_RAT_GSM == rat)
+ {
+ /* GSM register state */
+ uint8_t gsm_reg_state = watch_modem_get_gsm_reg_state_req();
+ if(1 == gsm_reg_state)
+ sprintf(infotxt, "E");
+ }
+ }
+ dial_create_canvas_text(infotxt, label_dsc->label_font, label_dsc->text_color, pos.x + label_dsc->text_pos.x, pos.y + label_dsc->text_pos.y);
+ #endif
+ break;
default:
break;
int16_t angle = 0;
hal_rtc_t tm;
lv_point_t pos;
+ uint8_t index = 0;
if(ELEMENT_TYPE_WEEK == base->element_type || ELEMENT_TYPE_DATE == base->element_type || ELEMENT_TYPE_TIME_HAND == base->element_type
|| ELEMENT_TYPE_TIME_DIGIT == base->element_type || ELEMENT_TYPE_AM_PM == base->element_type) {
dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y);
break;
case IMG_TYPE_BATTERY:
- sub_img = dial_get_sub_img(img_dsc, Hal_Battery_Get_Status() / (100 / img_dsc->subimg->sub_img_cnt));
+ //sub_img = dial_get_sub_img(img_dsc, Hal_Battery_Get_Status() / (100 / img_dsc->subimg->sub_img_cnt));
+ index = status_get_battery_img_index(Hal_Battery_Get_Status());
+ sub_img = dial_get_sub_img(img_dsc, index);
if(sub_img)
dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y);
break;
+ case IMG_TYPE_BATTERY_CHARGE:
+ #ifdef __MMI_DIAL_WITH_CHARGE_STATE_SUPPORT__
+ if(HAL_CHG_CONNECTED == Hal_Charger_Get_Status())
+ {
+ sub_img = dial_get_sub_img(img_dsc, 0);
+ if(sub_img)
+ dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y);
+ }
+ #endif
+ break;
case IMG_TYPE_DISTANCE_TENS:
sub_img = dial_get_sub_img(img_dsc, record.km / 10);
if(sub_img)
dial_clean_canvas(true);
dial_update_all_element(dial_get_clock_cont());
break;
+
+ case IMG_TYPE_SIGNAL:
+ #ifdef __MMI_DIAL_WITH_SIGNAL_SUPPORT__
+ index = ((false == watch_modem_sim_present_check_req()) ? 6 : watch_modem_get_signal_bar_req());
+ sub_img = dial_get_sub_img(img_dsc, index);
+ if(sub_img)
+ dial_update_canvas(sub_img, 0, pos.x + img_dsc->img_pos.x, pos.y + img_dsc->img_pos.y);
+ #endif
+ break;
+
default:
break;
}