| | |
| | | |
| | | #include "lcd_cfg_api.h" |
| | | #include "lcd_io_api.h" |
| | | #include "system_general_para.h" |
| | | #include "extern_rtc.h" |
| | | #include "wireless_remote_comm.h" |
| | | #include "sundry.h" |
| | | #include "master_slave_inter.h" |
| | | #include "gprs.h" |
| | | #include "billing.h" |
| | | #include "linked_list.h" |
| | | #include "working_time_calculate.h" |
| | | |
| | | |
| | | |
| | | |
| | | /*µçÁ¿ÏÔʾ*/ |
| | | void Lcd_Battery(PWR_VOL_T pwr_para_in) |
| | | void Lcd_Battery(float alka_vcc,float lith_vcc) |
| | | { |
| | | |
| | | __IO static uint8_t cal_cnt = 0; |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_SHELL_23A); //×ÜÊÇÏÔʾµç³Ø¿Ç |
| | | if((sys_clockBCD_g.sec & 0x04 ) == 0){ |
| | | //ÏÔʾ﮵ç |
| | | LCD_DISPLAY_SEG(_LCD_METER_23A); //¡°¼ÆÁ¿¡±×Ö·û |
| | | if(pwr_para_in.lith_synthesize_per > BAT_PERSENT_LEVEL_0) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(pwr_para_in.lith_synthesize_per > BAT_PERSENT_LEVEL_1) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(pwr_para_in.lith_synthesize_per > BAT_PERSENT_LEVEL_2) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(pwr_para_in.lith_synthesize_per > BAT_PERSENT_LEVEL_3) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | |
| | | }else{ |
| | | //ÏÔʾ¼îµç |
| | | LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //¡°Í¨Ñ¶¡±×Ö·û |
| | | if(pwr_para_in.alka_vcc_per > BAT_PERSENT_LEVEL_0) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(pwr_para_in.alka_vcc_per > BAT_PERSENT_LEVEL_1) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(pwr_para_in.alka_vcc_per > BAT_PERSENT_LEVEL_2) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(pwr_para_in.alka_vcc_per > BAT_PERSENT_LEVEL_3) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | if(sys_display_para_g.sys_and_display_mode != CALIB_MODE) |
| | | { |
| | | if((calendar_g.Second & 4) == 0) //¼ÆÁ¿³ÖÐø6Ã룬ͨѶ³ÖÐø4Ã룬һ´ÎÑ»· |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_METER_23A); //¡°¼ÆÁ¿¡±×Ö·û |
| | | if(lith_bat_real_per_g > 0) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(lith_bat_real_per_g > 20) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(lith_bat_real_per_g > 40) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(lith_bat_real_per_g > 70) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | } |
| | | else |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //¡°Í¨Ñ¶¡±×Ö·û |
| | | if(alka_vcc >= 4.5f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(alka_vcc >= 4.85f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(alka_vcc >= 5.25f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(alka_vcc >= 5.65f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | } |
| | | }else//¼ì¶¨Ä£Ê½ÏÂʵʱʱ¼ä²»¸üУ¬ËùÒÔÒª»»ÖÖ·½Ê½ |
| | | { |
| | | cal_cnt++; |
| | | if(cal_cnt <= 24) |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_METER_23A); //¡°¼ÆÁ¿¡±×Ö·û |
| | | // if(lith_vcc >= 2.9f) |
| | | // LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | // if(lith_vcc >= 3.2f) |
| | | // LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | // if(lith_vcc >= 3.3f) |
| | | // LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | // if(lith_vcc >= 3.4f) |
| | | // LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | if(lith_bat_real_per_g > 0) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(lith_bat_real_per_g > 20) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(lith_bat_real_per_g > 40) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(lith_bat_real_per_g > 70) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | }else |
| | | { |
| | | if(cal_cnt > 40) |
| | | cal_cnt = 0; |
| | | LCD_DISPLAY_SEG(_LCD_SIGNAL_COMMUNICATION_23A); //¡°Í¨Ñ¶¡±×Ö·û |
| | | if(alka_vcc >= 4.5f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_1_23A); |
| | | if(alka_vcc >= 4.85f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_2_23A); |
| | | if(alka_vcc >= 5.25f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_3_23A); |
| | | if(alka_vcc >= 5.65f) |
| | | LCD_DISPLAY_SEG(_LCD_BATTERY_4_23A); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | void Lcd_NormalPage_2(float price,float balance,uint8_t price_mode) |
| | | { |
| | | // if(__SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 0) |
| | | // { |
| | | // /*Óà¶îÏÔʾ*/ |
| | | // LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A); //×Ö·û¡°Ê£Óࡱ |
| | | // LCD_DISPLAY_SEG(_LCD_YUAN_1_23A); |
| | | // Lcd_DisplayFirstLine_23A(1,balance); |
| | | // } |
| | | // if(__SYS_FUNC_CFG_BYTES_GET(price_display_set) == 0) |
| | | // { |
| | | // /*µ¥¼Û*/ |
| | | // if(price_mode == SPM_LADDER) |
| | | // LCD_DISPLAY_SEG(_LCD_LADDER_23A);//×Ö·û¡°½×ÌÝ¡± |
| | | // LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A); //×Ö·û¡°µ¥¼Û¡± |
| | | // LCD_DISPLAY_SEG(_LCD_YUAN_2_23A); //×Ö·û¡°Ôª¡± |
| | | // LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);//×Ö·û¡°/m^3¡± |
| | | // Lcd_DisplaySecondLine_23A(1,price); |
| | | // } |
| | | if(__SYS_FUNC_CFG_BYTES_GET(balance_display_set) == 0) |
| | | { |
| | | /*Óà¶îÏÔʾ*/ |
| | | LCD_DISPLAY_SEG(_LCD_SURPLUSE_23A); //×Ö·û¡°Ê£Óࡱ |
| | | LCD_DISPLAY_SEG(_LCD_YUAN_1_23A); |
| | | Lcd_DisplayFirstLine_23A(1,balance); |
| | | } |
| | | if(__SYS_FUNC_CFG_BYTES_GET(price_display_set) == 0) |
| | | { |
| | | /*µ¥¼Û*/ |
| | | if(price_mode == SPM_LADDER) |
| | | LCD_DISPLAY_SEG(_LCD_LADDER_23A);//×Ö·û¡°½×ÌÝ¡± |
| | | LCD_DISPLAY_SEG(_LCD_UNIT_PRICE_23A); //×Ö·û¡°µ¥¼Û¡± |
| | | LCD_DISPLAY_SEG(_LCD_YUAN_2_23A); //×Ö·û¡°Ôª¡± |
| | | LCD_DISPLAY_SEG(_LCD_YUAN_M3_23A);//×Ö·û¡°/m^3¡± |
| | | Lcd_DisplaySecondLine_23A(1,price); |
| | | } |
| | | } |
| | | /* |
| | | *ÆÕÍ¨Ò³Ãæ3 |
| | |
| | | uint8_t i = 0; |
| | | #ifdef LCD_NEW |
| | | i = 2; |
| | | Lcd_DisplayDigit_23A(5,BCD_2_DECIMAL(pMeterNum_bcd[0]) / 10); |
| | | Lcd_DisplayDigit_23A(5,BCD_2_HEX_U8(pMeterNum_bcd[0]) / 10); |
| | | #endif |
| | | Lcd_DisplayDigit_23A(4 + i,BCD_2_DECIMAL(pMeterNum_bcd[0]) % 10); |
| | | Lcd_DisplayDigit_23A(5 + i,BCD_2_DECIMAL(pMeterNum_bcd[1]) / 10); |
| | | Lcd_DisplayDigit_23A(6 + i,BCD_2_DECIMAL(pMeterNum_bcd[1]) % 10); |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pMeterNum_bcd[2]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pMeterNum_bcd[2]) % 10); |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pMeterNum_bcd[3]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pMeterNum_bcd[3]) % 10); |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pMeterNum_bcd[4]) / 10); |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pMeterNum_bcd[4]) % 10); |
| | | Lcd_DisplayDigit_23A(13 + i,BCD_2_DECIMAL(pMeterNum_bcd[5]) / 10); |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pMeterNum_bcd[5]) % 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pMeterNum_bcd[6]) / 10); |
| | | Lcd_DisplayDigit_23A(16 + i,BCD_2_DECIMAL(pMeterNum_bcd[6]) % 10); |
| | | Lcd_DisplayDigit_23A(17 + i,BCD_2_DECIMAL(pMeterNum_bcd[7]) / 10); |
| | | Lcd_DisplayDigit_23A(18 + i,BCD_2_DECIMAL(pMeterNum_bcd[7]) % 10); |
| | | Lcd_DisplayDigit_23A(4 + i,BCD_2_HEX_U8(pMeterNum_bcd[0]) % 10); |
| | | Lcd_DisplayDigit_23A(5 + i,BCD_2_HEX_U8(pMeterNum_bcd[1]) / 10); |
| | | Lcd_DisplayDigit_23A(6 + i,BCD_2_HEX_U8(pMeterNum_bcd[1]) % 10); |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pMeterNum_bcd[2]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pMeterNum_bcd[2]) % 10); |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pMeterNum_bcd[3]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pMeterNum_bcd[3]) % 10); |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pMeterNum_bcd[4]) / 10); |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pMeterNum_bcd[4]) % 10); |
| | | Lcd_DisplayDigit_23A(13 + i,BCD_2_HEX_U8(pMeterNum_bcd[5]) / 10); |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pMeterNum_bcd[5]) % 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pMeterNum_bcd[6]) / 10); |
| | | Lcd_DisplayDigit_23A(16 + i,BCD_2_HEX_U8(pMeterNum_bcd[6]) % 10); |
| | | Lcd_DisplayDigit_23A(17 + i,BCD_2_HEX_U8(pMeterNum_bcd[7]) / 10); |
| | | Lcd_DisplayDigit_23A(18 + i,BCD_2_HEX_U8(pMeterNum_bcd[7]) % 10); |
| | | } |
| | | /*µÚÈý·½±íºÅ |
| | | third_flag£ºÊÇ·ñÓеÚÈý·½±ê־λ |
| | |
| | | Lcd_DisplayLetter(5 + i,LCD_P); |
| | | |
| | | //IP³ÖÐø6Ã룬¶Ë¿Ú³ÖÐø4Ã룬һ´ÎÑ»· |
| | | if((sys_clockBCD_g.sec & 4) == 0) //IP |
| | | if((calendar_g.Second & 4) == 0) //IP |
| | | { |
| | | Lcd_DisplayLetter(4 + i,LCD_I); |
| | | |
| | |
| | | LCD_DISPLAY_SEG(_LCD_POINT6_23A); |
| | | Lcd_DisplayLetter(6 + i,LCD_P); |
| | | //IP³ÖÐø6Ã룬¶Ë¿Ú³ÖÐø4Ã룬һ´ÎÑ»· |
| | | if((sys_clockBCD_g.sec & 4) == 0) //IP |
| | | if((calendar_g.Second & 4) == 0) //IP |
| | | { |
| | | /*ÏÔʾOIP£¨other ip£©£¬ÓÃÓÚÇø·Ö˼ÖþIPºÍµÚÈý·½IP*/ |
| | | Lcd_DisplayLetter(5 + i,LCD_I); |
| | |
| | | LCD_DISPLAY_SEG(_LCD_POINT3_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT4_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pSoftVer[0]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pSoftVer[0]) % 10); |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pSoftVer[0]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pSoftVer[0]) % 10); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT10_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pSoftVer[1]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pSoftVer[1]) % 10); |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pSoftVer[1]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pSoftVer[1]) % 10); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT14_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pSoftVer[2]) / 10); |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pSoftVer[2]) % 10); |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pSoftVer[2]) / 10); |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pSoftVer[2]) % 10); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT18_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pSoftVer[3]) / 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pSoftVer[3]) % 10); |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pSoftVer[3]) / 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pSoftVer[3]) % 10); |
| | | } |
| | | /*Ó²¼þ°æ±¾ºÅ*/ |
| | | void Lcd_ParaPage_HardVer(uint8_t * pHardVer) |
| | |
| | | LCD_DISPLAY_SEG(_LCD_POINT3_23A); |
| | | LCD_DISPLAY_SEG(_LCD_POINT4_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_DECIMAL(pHardVer[0]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_DECIMAL(pHardVer[0]) % 10); |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_DECIMAL(pHardVer[1]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_DECIMAL(pHardVer[1]) % 10); |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_DECIMAL(pHardVer[2]) / 10); |
| | | Lcd_DisplayDigit_23A(7 + i,BCD_2_HEX_U8(pHardVer[0]) / 10); |
| | | Lcd_DisplayDigit_23A(8 + i,BCD_2_HEX_U8(pHardVer[0]) % 10); |
| | | Lcd_DisplayDigit_23A(9 + i,BCD_2_HEX_U8(pHardVer[1]) / 10); |
| | | Lcd_DisplayDigit_23A(10 + i,BCD_2_HEX_U8(pHardVer[1]) % 10); |
| | | Lcd_DisplayDigit_23A(11 + i,BCD_2_HEX_U8(pHardVer[2]) / 10); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT16_23A); |
| | | |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_DECIMAL(pHardVer[2]) % 10); |
| | | Lcd_DisplayDigit_23A(13 + i,BCD_2_DECIMAL(pHardVer[3]) / 10); |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_DECIMAL(pHardVer[3]) % 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_DECIMAL(pHardVer[4]) / 10); |
| | | Lcd_DisplayDigit_23A(12 + i,BCD_2_HEX_U8(pHardVer[2]) % 10); |
| | | Lcd_DisplayDigit_23A(13 + i,BCD_2_HEX_U8(pHardVer[3]) / 10); |
| | | Lcd_DisplayDigit_23A(14 + i,BCD_2_HEX_U8(pHardVer[3]) % 10); |
| | | Lcd_DisplayDigit_23A(15 + i,BCD_2_HEX_U8(pHardVer[4]) / 10); |
| | | |
| | | LCD_DISPLAY_SEG(_LCD_POINT22_23A); |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | /*½éÖÊÅжÏÏÔʾ*/ |
| | | void Lcd_MediumShow(MEDIA_STATUS media_state) |
| | | { |
| | | switch(media_state) |
| | | { |
| | | case AIR: |
| | | LCD_DISPLAY_SEG(_LCD_K_23A); |
| | | break; |
| | | case GAS: |
| | | LCD_DISPLAY_SEG(_LCD_T_23A); |
| | | break; |
| | | default:break; |
| | | } |
| | | } |
| | | /*Á÷ÏòÅжÏÏÔʾ*/ |
| | | void Lcd_BacksetShow(uint8_t flow_direction) |
| | | { |
| | | if(flow_direction == 1) |
| | | LCD_DISPLAY_SEG(_LCD_BACKSET_23A); |
| | | } |
| | | /*·§ÃÅÏÔʾ*/ |
| | | void Lcd_ValveShow(VALVE_STATUS valve_state,uint16_t valve_close_ID,VALVE_LOCK_STATE_T valve_lock_status) |
| | | void Lcd_ValveShow(VALVE_STATE_T valve_state,SYS_ALARM_VALVE_T cl_valve_cause,uint8_t valve_lock) |
| | | { |
| | | static uint8_t show_flag = 0; |
| | | switch(valve_state) |
| | | { |
| | | case VALVE_NONE: |
| | | break; |
| | | case VALVE_OPEN: |
| | | case VALVE_OP: |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | LCD_DISPLAY_SEG(_LCD_OPEN_23A); |
| | | break; |
| | | case VALVE_CLOSE: |
| | | case VALVE_CL: |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | LCD_DISPLAY_SEG(_LCD_CLOSE_23A); |
| | | break; |
| | | case VALVE_OPENING: |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | if((sys_clockBCD_g.sec & 0x01) == 0) |
| | | show_flag = !show_flag; |
| | | if(show_flag) |
| | | LCD_DISPLAY_SEG(_LCD_OPEN_23A); |
| | | break; |
| | | case VALVE_CLOSING: |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | if((sys_clockBCD_g.sec & 0x01) == 0) |
| | | show_flag = !show_flag; |
| | | if(show_flag) |
| | | LCD_DISPLAY_SEG(_LCD_CLOSE_23A); |
| | | break; |
| | | case VALVE_ERROR: |
| | | if((sys_clockBCD_g.sec & 0x01) == 0) |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | LCD_DISPLAY_SEG(_LCD_VALVE_M_23A); |
| | | break; |
| | | default:break; |
| | | } |
| | | if(valve_lock_status == VL_LOCK) |
| | | if(valve_lock) |
| | | LCD_DISPLAY_SEG(_LCD_LOCK_23A); |
| | | valve_close_ID &=(~0x8000); |
| | | if(valve_state == VALVE_CLOSE && (valve_close_ID <= 0xff)) |
| | | if(valve_state == VALVE_CL && (cl_valve_cause <= 0x99)) |
| | | { |
| | | Lcd_DisplayDigit_23A(1,BCD_2_DECIMAL(valve_close_ID) / 10); |
| | | Lcd_DisplayDigit_23A(2,BCD_2_DECIMAL(valve_close_ID) % 10); |
| | | #ifdef LCD_NEW |
| | | Lcd_DisplayDigit_23A(1,BCD_2_HEX_U8(cl_valve_cause) / 10); |
| | | Lcd_DisplayDigit_23A(2,BCD_2_HEX_U8(cl_valve_cause) % 10); |
| | | #else |
| | | switch(cl_valve_cause) //ÔÝδÏëºÃÔõô·ÖÀà |
| | | { |
| | | default: |
| | | // Lcd_DisplayDigit_23A(1,5); |
| | | break; |
| | | } |
| | | #endif |
| | | } |
| | | } |
| | | |
| | | /*¾¯¸æÏÔʾ*/ |
| | | #define ALARM_ID_SHOW_MAX 5 |
| | | void Lcd_WaringShow(uint8_t list_cnt,uint8_t sec_bcd) |
| | | void Lcd_WaringShow_New(uint8_t list_cnt,uint8_t sec_bcd) |
| | | { |
| | | uint8_t i = 0; |
| | | #ifdef LCD_NEW |
| | |
| | | static uint8_t temp_list_cnt_flag = 0; //ÓÃÓÚÅжϱ¨¾¯ÊÇ·ñÔöɾ |
| | | static uint8_t show_min_flag = 0; //ÏÔʾÅжϵÄ×îСֵ±ê־λ |
| | | __IO static int8_t alarm_show_num = 0; //±¨¾¯ÏÔʾµÄ³¤¶È£¬ÓÃÓÚ²éÕÒÁ´±íÖеı¨¾¯ID |
| | | __IO static SYS_ALARM_VALVE_T alarm_id = ALARM_ID_NORMAL; |
| | | __IO static SYS_ALARM_VALVE_T alarm_id = AV_NORMAL; |
| | | ALARM_NODE_T * ptr = pList_head; |
| | | if((sec_bcd & 1) && (ptr != NULL))//ÿ2SÐÞ¸ÄÒ»´ÎÊý¾Ý & ±¨¾¯Á´±íÊý¾ÝÓÐ |
| | | { |
| | |
| | | } |
| | | }else if(ptr == NULL && temp_list_cnt_flag != 0) // ÒÔǰÓб¨¾¯£¬ÏÖÔÚûÁË |
| | | { |
| | | alarm_id = ALARM_ID_NORMAL; |
| | | alarm_id = AV_NORMAL; |
| | | temp_list_cnt_flag = list_cnt; |
| | | } |
| | | /*±¨¾¯ÏÔʾ*/ |
| | | if((alarm_id != ALARM_ID_NORMAL)&&(alarm_id <= 0xff)) |
| | | if(alarm_id != AV_NORMAL) |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_WARNING_23A); |
| | | Lcd_DisplayDigit_23A(2 + i,BCD_2_DECIMAL(alarm_id) / 10); |
| | | Lcd_DisplayDigit_23A(3 + i,BCD_2_DECIMAL(alarm_id) % 10); |
| | | Lcd_DisplayDigit_23A(2 + i,BCD_2_HEX_U8(alarm_id) / 10); |
| | | Lcd_DisplayDigit_23A(3 + i,BCD_2_HEX_U8(alarm_id) % 10); |
| | | } |
| | | } |
| | | |
| | | |
| | | /*¾¯¸æÏÔʾ*/ |
| | | void Lcd_WarningShow(SYS_ALARM_VALVE_T * warning_state,SYS_ALARM_VALVE_T * clear_state) |
| | | { |
| | | uint8_t display_alarm_id_bcd = BCD_2_HEX_U8(*warning_state); |
| | | //µ±±¨¾¯ÏÔʾºÍÇå³ý±¨¾¯ÏÔʾÏàͬʱ |
| | | if(*warning_state == *clear_state && *clear_state != AV_NORMAL) |
| | | *warning_state = *clear_state = AV_NORMAL; |
| | | if(*warning_state == AV_NORMAL && *clear_state != AV_NORMAL) |
| | | *clear_state = AV_NORMAL; |
| | | switch(*warning_state) |
| | | { |
| | | case AV_NORMAL: |
| | | case V_KEY_OP: //¾¯¸æÖ»ÓÐÁ½Î»Êý×ÖÏÔʾ |
| | | case V_KEY_CL: |
| | | case V_GPRS_CMD_OP: |
| | | case V_GPRS_CMD_CL: |
| | | break; |
| | | default: |
| | | LCD_DISPLAY_SEG(_LCD_WARNING_23A); |
| | | Lcd_DisplayDigit_23A(2,display_alarm_id_bcd / 10); |
| | | Lcd_DisplayDigit_23A(3,display_alarm_id_bcd % 10); |
| | | break; |
| | | } |
| | | } |
| | | /*Ô¶´«ÏÔʾ*/ |
| | | void Lcd_WrcShow(FlagStatus wrc_running_status,ErrorStatus last_wrc_result,uint8_t flag_4g,uint8_t signal_intensity) |
| | | void Lcd_GprsShow(uint8_t gprs_state,uint8_t flag_4g,uint8_t signal_intensity) |
| | | { |
| | | static uint8_t temp_sig = 0; |
| | | if((flag_4g>>4) == 4) |
| | | if(!flag_4g) |
| | | LCD_DISPLAY_SEG(_LCD_4G_Flag_23A); |
| | | /*ÕýÔÚÉÏ´«Ê±ÏÔʾ*/ |
| | | if(wrc_running_status == SET) |
| | | if(gprs_soft_para_g.gprs_state != GPRS_IDLE && gprs_soft_para_g.gprs_state != GPRS_RESTART) |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_WIFI_23A); |
| | | temp_sig++; |
| | |
| | | } |
| | | else |
| | | { |
| | | if(last_wrc_result == PASS)//ÉÏÒ»´ÎͨѶÕý³£ |
| | | if(!gprs_state)//ÉÏÒ»´ÎͨѶÕý³£ |
| | | { |
| | | LCD_DISPLAY_SEG(_LCD_WIFI_23A); |
| | | LCD_DISPLAY_SEG(_LCD_4G_1_23A); |
| | |
| | | |
| | | } |
| | | /*¼Æ·ÑÏÔʾ*/ |
| | | void Lcd_BillingShow(uint8_t bill_mode,uint8_t ladder_now) |
| | | void Lcd_BillingShow(uint8_t bill_flag,uint8_t bill_mode,uint8_t price_mode) |
| | | { |
| | | |
| | | if(bill_mode == BM_DEVICE || bill_mode == BM_PLATFORM){ |
| | | if(bill_mode == BM_PLATFORM)//ºǫ́¼Æ·Ñģʽ |
| | | if(bill_flag)//ÓÐ¼Æ·Ñ |
| | | { |
| | | if(bill_mode)//ºǫ́¼Æ·Ñģʽ |
| | | LCD_DISPLAY_SEG(_LCD_BILLBACK_23A); |
| | | if(ladder_now > 0) |
| | | if(price_mode == SPM_LADDER) |
| | | LCD_DISPLAY_SEG(_LCD_LADDERBILL_23A);//½×Ìݼ۸ñ |
| | | else |
| | | LCD_DISPLAY_SEG(_LCD_SINGLEBILL_23A);//µ¥Ò»¼Û¸ñ |
| | | } |
| | | } |
| | | |
| | | /*Çл»Ä£Ê½µÄÊÚȨ±ê־λ³ÖÐøÊ±¼äÏÔʾ*/ |
| | | void Lcd_ModeFlagActiveShow(SYS_SOME_FLAG_T * mode_flag_p) |
| | | { |
| | | static uint8_t flag_active = 0; |
| | | if((mode_flag_p->para_display_flag || mode_flag_p->uncap_flag) && __SYS_DELAY_SEC_TIME_GET_(mode_flag_active_time)) |
| | | { |
| | | flag_active = !flag_active; |
| | | if(flag_active && mode_flag_p->para_display_flag) |
| | | LCD_DISPLAY_SEG(_LCD_LOOKUP_23A); |
| | | if(flag_active && mode_flag_p->uncap_flag) |
| | | LCD_DISPLAY_SEG(_LCD_CONFIGURATION_23A); |
| | | } |
| | | if(__SYS_DELAY_SEC_FLAG_GET(mode_flag_active_time) == SET) |
| | | { |
| | | __SYS_DELAY_SEC_FLAG_CLEAR_(mode_flag_active_time); |
| | | __SYS_PARA_FLAG_CLEAR_(uncap_flag); |
| | | __SYS_PARA_FLAG_CLEAR_(para_display_flag); |
| | | } |
| | | } |
| | | |
| | | /*¶þ¼¶ÐÞÕýµÄ¹Ì¶¨ÏÔʾÄÚÈÝ*/ |
| | | void Lcd_SecCorr_FixedShow(PARA_DISPLAY_PAGE sec_corr_fix) |
| | | { |
| | | uint8_t i = 0; |
| | | #ifdef LCD_NEW |
| | | i = 1; |
| | | #endif |
| | | Lcd_DisplayLetter(5 + i,LCD_S); |
| | | Lcd_DisplayLetter(6 + i,LCD_E); |
| | | Lcd_DisplayLetter(7 + i,LCD_C); |
| | | |
| | | Lcd_DisplayLetter(9 + i,LCD_C); |
| | | Lcd_DisplayLetter(10 + i,LCD_O); |
| | | Lcd_DisplayLetter(11 + i,LCD_R); |
| | | Lcd_DisplayLetter(12 + i,LCD_R); |
| | | if(sec_corr_fix == SEC_CORR_NOW) |
| | | { |
| | | Lcd_DisplayLetter(14 + i,LCD_N); |
| | | Lcd_DisplayLetter(15 + i,LCD_O); |
| | | Lcd_DisplayLetter(16 + i,LCD_W); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD) |
| | | { |
| | | Lcd_DisplayLetter(14 + i,LCD_O); |
| | | Lcd_DisplayLetter(15 + i,LCD_L); |
| | | Lcd_DisplayLetter(16 + i,LCD_D); |
| | | } |
| | | } |
| | | |
| | | void Lcd_SecCorr_ParaShow(PARA_DISPLAY_PAGE sec_corr_fix,SECOND_ORDER_CORR_T * sec_coor_set_p) |
| | | { |
| | | if(sec_corr_fix == SEC_CORR_NOW_PARA_1) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[0]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[0]); |
| | | }else if(sec_corr_fix == SEC_CORR_NOW_PARA_2) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[1]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[1]); |
| | | }else if(sec_corr_fix == SEC_CORR_NOW_PARA_3) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[2]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[2]); |
| | | }else if(sec_corr_fix == SEC_CORR_NOW_PARA_4) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[3]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[3]); |
| | | }else if(sec_corr_fix == SEC_CORR_NOW_PARA_5) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[4]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[4]); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD_PARA_1) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[0]); //ÔÝÓÃÔ¤ÁôÖµµ±oldÖµ |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[5]); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD_PARA_2) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[1]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[6]); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD_PARA_3) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[2]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[7]); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD_PARA_4) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[3]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[8]); |
| | | }else if(sec_corr_fix == SEC_CORR_OLD_PARA_5) |
| | | { |
| | | Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[4]); |
| | | Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[9]); |
| | | } |
| | | |
| | | |
| | | |
| | | //void Lcd_SecCorr_ParaShow(PARA_DISPLAY_PAGE sec_corr_fix,SECOND_ORDER_CORR_T * sec_coor_set_p) |
| | | //{ |
| | | // if(sec_corr_fix == SEC_CORR_NOW_PARA_1) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[0]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[0]); |
| | | // }else if(sec_corr_fix == SEC_CORR_NOW_PARA_2) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[1]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[1]); |
| | | // }else if(sec_corr_fix == SEC_CORR_NOW_PARA_3) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[2]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[2]); |
| | | // }else if(sec_corr_fix == SEC_CORR_NOW_PARA_4) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[3]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[3]); |
| | | // }else if(sec_corr_fix == SEC_CORR_NOW_PARA_5) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->second_flow_data_point[4]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->second_corr_factor[4]); |
| | | // }else if(sec_corr_fix == SEC_CORR_OLD_PARA_1) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[0]); //ÔÝÓÃÔ¤ÁôÖµµ±oldÖµ |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[5]); |
| | | // }else if(sec_corr_fix == SEC_CORR_OLD_PARA_2) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[1]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[6]); |
| | | // }else if(sec_corr_fix == SEC_CORR_OLD_PARA_3) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[2]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[7]); |
| | | // }else if(sec_corr_fix == SEC_CORR_OLD_PARA_4) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[3]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[8]); |
| | | // }else if(sec_corr_fix == SEC_CORR_OLD_PARA_5) |
| | | // { |
| | | // Lcd_DisplayFirstLine_23A(1,sec_coor_set_p->reserve[4]); |
| | | // Lcd_DisplaySecondLine_23A(1,sec_coor_set_p->reserve[9]); |
| | | // } |
| | | // |
| | | |
| | | //} |
| | | } |