| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220 |
- #include <string.h>
- #include "menu.h"
- #include "lcd.h"
- #include "main.h"
- #include "font.h"
- #include "lang.h"
- #define CHINESE 0
- #define ENGLISH 1
- #define LANGUEGE CHINESE
- static void menu_system_paint()
- {
- char tmp[100];
- sts_data_t *data = get_sts();
-
- sprintf(tmp,"STS %s",lang_get_str(LANGUEGE, STR_ID_INFO));
- lcd_draw_string(0, 0,LCD_WIDTH, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_CENTER, VERTICAL_CENTER);
-
- sprintf(tmp,"%s:",lang_get_str(LANGUEGE, STR_ID_ADDR));
- lcd_draw_string(5, 48, LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%d", data->addr);
- lcd_draw_string(LCD_WIDTH/2, 48, LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- sprintf(tmp,"%s:",lang_get_str(LANGUEGE, STR_ID_BOUND));
- lcd_draw_string(5, 48*2, LCD_WIDTH/2-5, 48,tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp,"%d",data->baund);
- lcd_draw_string(LCD_WIDTH/2, 48*2 ,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- sprintf(tmp,"%s:",lang_get_str(0, STR_ID_TEMP));
- lcd_draw_string(5, 48*3,LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp,"%.2f",data->m_data.m_r.r_data.temprature/10.0);
- lcd_draw_string(LCD_WIDTH/2, 48*3,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- #if 0
- sprintf(tmp,"%s:",lang_get_str(0, STR_ID_FANS));
- lcd_draw_string(5, 48*4,LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp,"%s",data->m_data.fans_status ? lang_get_str(LANGUEGE, STR_ID_ON) : lang_get_str(LANGUEGE, STR_ID_OFF));
- if(data->m_data.fans_status)
- {
- lcd_draw_string(LCD_WIDTH/2, 48*4, LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_BLUE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }else
- {
- lcd_draw_string(LCD_WIDTH/2, 48*4, LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_RED, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }
- #endif
- }
- static void menu_input_paint(int input)
- {
- char tmp[100];
- sts_data_t *data = get_sts();
- // lcd_draw_rect(0, 0, 120 , 60,COLOR_WHITE);
- if(input == 1)
- sprintf(tmp,"%s",lang_get_str(LANGUEGE, STR_ID_MASTER_POWER));
- else
- sprintf(tmp,"%s",lang_get_str(LANGUEGE, STR_ID_BACK_POWER));
-
- lcd_draw_string(0, 0,LCD_WIDTH, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_CENTER, VERTICAL_CENTER);
-
-
- sprintf(tmp, "%s:", lang_get_str(LANGUEGE, STR_ID_SWITCH));
- lcd_draw_string(5, 48, LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%s", (data->m_data.m_rw.rw_data.chiose_ch == (input-1)) ? lang_get_str(LANGUEGE, STR_ID_ON) : lang_get_str(LANGUEGE, STR_ID_OFF));
- if(data->m_data.m_rw.rw_data.chiose_ch == (input-1))
- {
- lcd_draw_string(LCD_WIDTH/2, 48, LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_BLUE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }else
- {
- lcd_draw_string(LCD_WIDTH/2, 48, LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_RED, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }
-
- sprintf(tmp,"%s:",lang_get_str(LANGUEGE, STR_ID_STATUS));
- lcd_draw_string(5, 48*2, LCD_WIDTH/2-5, 48,tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- sprintf(tmp,"%s",(data->m_data.m_r.r_data.input_status.input_status[input-1]) ? lang_get_str(LANGUEGE, STR_ID_ONLINE):lang_get_str(LANGUEGE, STR_ID_OFFLINE));
-
- if(data->m_data.m_r.r_data.input_status.input_status[input-1])
- lcd_draw_string(LCD_WIDTH/2, 48*2 ,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_BLUE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- else
- lcd_draw_string(LCD_WIDTH/2, 48*2 ,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_RED, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- sprintf(tmp,"%s:",lang_get_str(0, STR_ID_VOLTAGE));
- lcd_draw_string(5, 48*3,LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp,"%.2f",(data->m_data.m_r.r_data.input[input-1].voltage)/1000.0);
- lcd_draw_string(LCD_WIDTH/2, 48*3,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- sprintf(tmp,"%s:",lang_get_str(0, STR_ID_FREQ));
- lcd_draw_string(5, 48*4,LCD_WIDTH/2-5, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp,"%.2f",(data->m_data.m_r.r_data.input[input-1].freq)/1000.0);
- lcd_draw_string(LCD_WIDTH/2, 48*4,LCD_WIDTH/2, 48, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }
- static void menu_output_paint()
- {
-
- char tmp[100];
- sts_data_t *data = get_sts();
- sprintf(tmp, "%s",lang_get_str(LANGUEGE, STR_ID_OUTPUT));
- lcd_draw_string(0, 0,LCD_WIDTH, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_CENTER, VERTICAL_CENTER);
-
-
- sprintf(tmp, "%s:", lang_get_str(LANGUEGE, STR_ID_SWITCH));
- lcd_draw_string(5, 40, LCD_WIDTH/2-5, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%s", data->m_data.m_rw.rw_data.md_eep.out_status ? lang_get_str(LANGUEGE, STR_ID_ON) : lang_get_str(LANGUEGE, STR_ID_OFF));
- if(data->m_data.m_rw.rw_data.md_eep.out_status)
- {
- lcd_draw_string(LCD_WIDTH/2, 40, LCD_WIDTH/2, 40, tmp, FONT_24, COLOR_BLUE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }else
- {
- lcd_draw_string(LCD_WIDTH/2, 40, LCD_WIDTH/2, 40, tmp, FONT_24, COLOR_RED, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }
-
- sprintf(tmp, "%s(A) :",lang_get_str(LANGUEGE, STR_ID_CURRENT));
- lcd_draw_string(5, 80, LCD_WIDTH/2-5, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%0.2f",data->m_data.m_r.r_data.out_power.current/1000.0);
- lcd_draw_string(LCD_WIDTH/2+24, 80, LCD_WIDTH/2-24, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
- float power = data->m_data.m_r.r_data.out_power.power /1000.0;
- if(power >1000)
- {
- power /=1000.0;
- sprintf(tmp, "%s(kW) :",lang_get_str(LANGUEGE, STR_ID_POWER));
- }else
- {
- sprintf(tmp, "%s(W) :",lang_get_str(LANGUEGE, STR_ID_POWER));
- }
- lcd_draw_string(5, 120, LCD_WIDTH/2-5, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%0.2f", power);
- lcd_draw_string(LCD_WIDTH/2+24, 120, LCD_WIDTH/2-24, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
-
- sprintf(tmp, "%s(F) :",lang_get_str(LANGUEGE, STR_ID_FACTOR));
- lcd_draw_string(5, 160, LCD_WIDTH/2-5, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- sprintf(tmp, "%0.2f", data->m_data.m_r.r_data.out_power.factor /1000.0);
- lcd_draw_string(LCD_WIDTH/2+24, 160, LCD_WIDTH/2-24, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
-
-
-
- sprintf(tmp, "%s(KWh):",lang_get_str(LANGUEGE, STR_ID_CONSUMP));
- lcd_draw_string(5, 200, LCD_WIDTH/2, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- float consumer = data->m_data.m_r.r_data.out_power.consumer /1000.0;
-
- if(consumer > 999999.0)
- {
- consumer = 999999.0;
- sprintf(tmp, "%0.1f", consumer);
- }
- else
- sprintf(tmp, "%0.2f", consumer);
- lcd_draw_string(LCD_WIDTH/2+24,200, LCD_WIDTH/2-24, 40, tmp, FONT_24, COLOR_WHITE, COLOR_BLACK, HORIZONTAL_LEFT, VERTICAL_CENTER);
- }
- static void menu_modbus_paint()
- {
- }
- int menu_init(void)
- {
- lcd_init(LCD_WIDTH,LCD_HEIGHT, 0);
- return 0;
- }
- int menu_deinit(void)
- {
- return 0;
- }
- int menu_handle(int menu)
- {
- switch(menu) {
- case MENU_SYS:
- {
- menu_system_paint();
- }
- break;
- case MENU_INPUT1:
- {
- menu_input_paint(1);
- }
- break;
- case MENU_INPUT2:
- {
- menu_input_paint(2);
- }
- break;
- case MENU_OUTPUT:
- {
- menu_output_paint();
- }
- break;
- }
- return 0;
- }
|