|
|
@@ -261,7 +261,7 @@ static void menu_input_paint(menu_handle_t *h, int font1, int font2, int item_h,
|
|
|
#else
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%s:", lang_get_str(h->lang, STR_ID_VOLTAGE));
|
|
|
+ sprintf(tmp, "%s(V) :", lang_get_str(h->lang, STR_ID_VOLTAGE));
|
|
|
lcd_draw_string(5, item_h, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
@@ -270,7 +270,7 @@ static void menu_input_paint(menu_handle_t *h, int font1, int font2, int item_h,
|
|
|
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%s:", lang_get_str(h->lang, STR_ID_CURRENT));
|
|
|
+ sprintf(tmp, "%s(A) :", lang_get_str(h->lang, STR_ID_CURRENT));
|
|
|
lcd_draw_string(5, item_h*2, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
sprintf(tmp, "%0.2f",pttl->current);
|
|
|
@@ -279,14 +279,14 @@ static void menu_input_paint(menu_handle_t *h, int font1, int font2, int item_h,
|
|
|
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%s:", lang_get_str(h->lang, STR_ID_POWER));
|
|
|
+ sprintf(tmp, "%s(W) :", lang_get_str(h->lang, STR_ID_POWER));
|
|
|
lcd_draw_string(5, item_h*3, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
sprintf(tmp, "%0.2f",pttl->power);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*3, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
- sprintf(tmp, "%s:",lang_get_str(h->lang, STR_ID_FACTOR));
|
|
|
+ sprintf(tmp, "%s(F) :",lang_get_str(h->lang, STR_ID_FACTOR));
|
|
|
lcd_draw_string(5, item_h*4, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
@@ -297,11 +297,11 @@ static void menu_input_paint(menu_handle_t *h, int font1, int font2, int item_h,
|
|
|
|
|
|
|
|
|
#endif
|
|
|
- sprintf(tmp, "%s:", lang_get_str(h->lang, STR_ID_CONSUMP));
|
|
|
+ sprintf(tmp, "%s(kW):", lang_get_str(h->lang, STR_ID_CONSUMP));
|
|
|
lcd_draw_string(5, item_h*5, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%0.2f", pttl->consump);
|
|
|
+ sprintf(tmp, "%0.2f", (pttl->consump > 9999999) ? 9999999 : pttl->consump);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*5, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
//lcd_refresh();
|
|
|
@@ -358,33 +358,42 @@ static void menu_output_paint(menu_handle_t *h, int font1, int font2, int item_h
|
|
|
sprintf(tmp, "%s:", lang_get_str(h->lang, STR_ID_SWITCH));
|
|
|
lcd_draw_string(5, item_h, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
sprintf(tmp, "%s", pon);
|
|
|
- lcd_draw_string(LCD_WIDTH/2, item_h, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
-
|
|
|
-
|
|
|
+ if(all->pch[h->ch_out+1].status)
|
|
|
+ {
|
|
|
+ lcd_draw_string(LCD_WIDTH/2, item_h, LCD_WIDTH/2, item_h, tmp, font2, COLOR_BLUE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
+ }else
|
|
|
+ {
|
|
|
+ lcd_draw_string(LCD_WIDTH/2, item_h, LCD_WIDTH/2, item_h, tmp, font2, COLOR_RED, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
+ }
|
|
|
|
|
|
- sprintf(tmp, "%s:",lang_get_str(h->lang, STR_ID_CURRENT));
|
|
|
+ sprintf(tmp, "%s(A) :",lang_get_str(h->lang, STR_ID_CURRENT));
|
|
|
lcd_draw_string(5, item_h*2, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
sprintf(tmp, "%0.2f", ((float)all->pch[h->ch_out+1].power[0].current)/100.0);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*2, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%s:",lang_get_str(h->lang, STR_ID_POWER));
|
|
|
+ sprintf(tmp, "%s(W) :",lang_get_str(h->lang, STR_ID_POWER));
|
|
|
lcd_draw_string(5, item_h*3, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
sprintf(tmp, "%0.2f", ((float)all->pch[h->ch_out+1].power[0].power)/100.0);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*3, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
- sprintf(tmp, "%s:",lang_get_str(h->lang, STR_ID_FACTOR));
|
|
|
+ sprintf(tmp, "%s(F) :",lang_get_str(h->lang, STR_ID_FACTOR));
|
|
|
lcd_draw_string(5, item_h*4, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
sprintf(tmp, "%0.2f", ((float)all->pch[h->ch_out+1].power[0].factor)/100.0);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*4, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
|
|
|
#endif
|
|
|
- sprintf(tmp, "%s:",lang_get_str(h->lang, STR_ID_CONSUMP));
|
|
|
+ sprintf(tmp, "%s(kW):",lang_get_str(h->lang, STR_ID_CONSUMP));
|
|
|
lcd_draw_string(5, item_h*5, LCD_WIDTH/2-5, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
- sprintf(tmp, "%0.2f", ((float)all->pch[h->ch_out+1].power[0].consump)/100.0);
|
|
|
+ float cosumer = ((float)all->pch[h->ch_out+1].power[0].consump)/100.0;
|
|
|
+ if(cosumer > 9999999.0)
|
|
|
+ {
|
|
|
+ cosumer = 9999999.0;
|
|
|
+ }
|
|
|
+ sprintf(tmp, "%0.2f", cosumer);
|
|
|
lcd_draw_string(LCD_WIDTH/2, item_h*5, LCD_WIDTH/2, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
//lcd_refresh();
|
|
|
|
|
|
@@ -420,14 +429,15 @@ static void menu_sensor_paint(menu_handle_t *h, int font1, int font2, int item_h
|
|
|
//sprintf(tmp, " %s: %0.1f", lang_get_str(h->lang, STR_ID_TEMP), h->dm->g_modebus_read.temprature/100.0f);
|
|
|
if(sensor)
|
|
|
{
|
|
|
- sprintf(tmp, "%s: %.2f", lang_get_str(h->lang, STR_ID_TEMP),sensor->data[0].val[1].value);
|
|
|
+
|
|
|
+ sprintf(tmp, "%s: %.2f %s", lang_get_str(h->lang, STR_ID_TEMP),sensor->data[0].val[1].value,lang_get_str(0,STR_ID_C));
|
|
|
|
|
|
lcd_draw_string(10, item_h, LCD_WIDTH, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
- sprintf(tmp, "%s: %.2f%%", lang_get_str(h->lang, STR_ID_HUMI),sensor->data[0].val[0].value);
|
|
|
+ sprintf(tmp, "%s: %.2f %%", lang_get_str(h->lang, STR_ID_HUMI),sensor->data[0].val[0].value);
|
|
|
//sprintf(tmp, " %s: %0.1f%%", lang_get_str(h->lang, STR_ID_HUMI), h->dm->g_modebus_read.humidity/100.0f);
|
|
|
lcd_draw_string(10, item_h*2, LCD_WIDTH, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
|
|
|
- sprintf(tmp, "CO2: %.2f(PPM)",sensor->data[2].val[0].value);
|
|
|
+ sprintf(tmp, "CO2: %.2f PPM",sensor->data[2].val[0].value);
|
|
|
lcd_draw_string(10, item_h*3, LCD_WIDTH, item_h, tmp, font2, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
|
|
|
}
|
|
|
#endif
|
|
|
@@ -862,7 +872,8 @@ int menu_init(void)
|
|
|
misc_data_t *misc=¶s_get()->misc;
|
|
|
|
|
|
memset(h, 0, sizeof(menu_handle_t));
|
|
|
- h->lang = paras_get()->sys.lang;
|
|
|
+ h->lang = paras_get()->misc.lang;
|
|
|
+ paras_get()->sys.lang = paras_get()->misc.lang;
|
|
|
h->tmr = timer_init();
|
|
|
h->flip_ms = get_ms();
|
|
|
h->refresh_ms = get_ms();
|
|
|
@@ -1438,6 +1449,7 @@ static int menu_base_key_handle(menu_handle_t *h, key_val_t *kv)
|
|
|
//save net base data
|
|
|
paras_get()->misc.rotate = h->m_base.n_bak.route;
|
|
|
paras_get()->sys.lang = h->m_base.n_bak.lang;
|
|
|
+ paras_get()->misc.lang = h->m_base.n_bak.lang;
|
|
|
paras_get()->sys.tzone = h->m_base.n_bak.zone;
|
|
|
h->lang = h->m_base.n_bak.lang;
|
|
|
lcd_rotate(h->m_base.n_bak.route);
|