1788 lines
46 KiB
C
1788 lines
46 KiB
C
|
|
|||
|
/*******************************************************************************
|
|||
|
* @Copyright (c) :(C)2017, Qingdao ieslab Co., Whn
|
|||
|
* @FileName :GP22Gas_lcd_app.c
|
|||
|
* @Author :Team
|
|||
|
* @Version :V1.0
|
|||
|
* @Date :2017<EFBFBD><EFBFBD>8<EFBFBD><EFBFBD>25<EFBFBD><EFBFBD> 11:00:39
|
|||
|
* @Description :the function of the entity of GP22Gas_lcd_app.c
|
|||
|
*******************************************************************************/
|
|||
|
|
|||
|
#include "type.h"
|
|||
|
#include "UWater_lcd_driver.h"
|
|||
|
#include "UWater_lcd_app.h"
|
|||
|
#include "UWater_gp22_app.h"
|
|||
|
#include "UWater_rtcc_app.h"
|
|||
|
#include "UWater_key_app.h"
|
|||
|
#include "UWater_power_app.h"
|
|||
|
#include "UWater_frame_app.h"
|
|||
|
#include "UWater_pt_app.h"
|
|||
|
#include "UWater_valve_app.h"
|
|||
|
#include "UWater_valve_driver.h"
|
|||
|
#include "nb_driver_bc25.h"
|
|||
|
#include "sys_processor.h"
|
|||
|
#include "UWater_sys.h"
|
|||
|
|
|||
|
/*------------------------------ Variable Define -------------------------------------*/
|
|||
|
//״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
static u8 s_lcd_status_state; //<2F><><EFBFBD><EFBFBD>״ָ̬ʾ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_lcd_rf_state; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ָ̬ʾ״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
static u8 s_lcd_time_state; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_lcd_ram_state; //RAM<41><4D><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
static u8 s_lcd_key_state; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_lcd_init_state; //<2F><>ʼ<EFBFBD><CABC>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_lcd_up_state= 0;
|
|||
|
//static u8 s_lcd_characters_state=1;//<2F>̻<EFBFBD><CCBB>ַ<EFBFBD>ָʾ״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_lcd_VAL_state_SET = 1;//
|
|||
|
//static u8 s_lcd_VAL_Met_state = 1;//
|
|||
|
//static u8 s_lcd_VAL_Ram_state = 1;//
|
|||
|
//static u8 s_lcd_VAL_GSM_state = 1;
|
|||
|
//static u8 s_lcd_first_power_state;
|
|||
|
//<2F>˵<EFBFBD><CBB5><EFBFBD>
|
|||
|
static u8 s_fst_num; //һ<><D2BB><EFBFBD>˵<EFBFBD><CBB5>IJ˵<C4B2><CBB5><EFBFBD>
|
|||
|
static u8 s_sec_num; //<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>IJ˵<C4B2><CBB5><EFBFBD>
|
|||
|
|
|||
|
//<2F><>ʱ<EFBFBD><CAB1>״̬<D7B4><CCAC>
|
|||
|
//static u32 s_Lcd_time_old_num = 0;
|
|||
|
//static u32 s_Lcd_time_num = 0;
|
|||
|
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u8 s_vol_app_state; //<2F><>¼<EFBFBD>ϴε<CFB4><CEB5>ص<EFBFBD>ѹ״̬
|
|||
|
static u8 s_low_flow_alarm_app_state; //<2F><>¼<EFBFBD>ϴγ<CFB4><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>״̬
|
|||
|
static u8 s_alarm_app_state; //<2F><>¼<EFBFBD>ϴα<CFB4><CEB1><EFBFBD>״̬
|
|||
|
static u8 s_failure_app_state; //<2F><>¼<EFBFBD>ϴι<CFB4><CEB9><EFBFBD>״̬
|
|||
|
static u8 s_active_RF_app_state; //<2F><>¼<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>״̬
|
|||
|
static u8 s_valve_app_state; //<2F><>¼<EFBFBD>ϴη<CFB4><CEB7><EFBFBD>״̬
|
|||
|
//static u8 s_lcd_check_gp30_msg;
|
|||
|
static u8 s_lcd_check_gp30_app_msg;
|
|||
|
//static u8 key_message =0;
|
|||
|
//static u8 s_lcd_valve_stat;//<2F><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
//static u8 s_pay_state=0;// Ԥ<><D4A4><EFBFBD><EFBFBD>״̬
|
|||
|
|
|||
|
static u8 s_a1_index; //<2F><>¼<EFBFBD>Ǽ춨״̬<D7B4><CCAC>GP30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u8 s_a2_index; //<2F><>¼<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u8 s_a3_index; //<2F><>¼<EFBFBD><C2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u8 s_a4_index; //<2F><>¼<EFBFBD>춨״̬<D7B4><CCAC>GP30<33><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u32 s_a1_backup; //<2F><>¼<EFBFBD>Ǽ춨״̬<D7B4>µ<EFBFBD>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u32 s_a2_backup; //<2F><>¼A2<41><32>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u32 s_a3_backup; //<2F><>¼A3<41><33>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
static u32 s_a4_backup; //<2F><>¼<EFBFBD>춨״̬<D7B4>µ<EFBFBD>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
//static u16 s_nb_active_time;//NB<4E><42>Ծʱ<D4BE><CAB1>
|
|||
|
/*------------------------------ function declare -------------------------------------*/
|
|||
|
|
|||
|
|
|||
|
//static void LcdSet1sTimer(u32 time5ms_span);
|
|||
|
//static u8 LcdCheck1sTimer(void);
|
|||
|
|
|||
|
static u32 GetA1Data(u8 index);
|
|||
|
static u32 GetA2Data(u8 index);
|
|||
|
static u32 GetA3Data(u8 index);
|
|||
|
static u32 GetA4Data(u8 index);
|
|||
|
|
|||
|
static void LcdDispayFLoat(float lcd_data, u8 point);
|
|||
|
static void LcdDispayU32Data(u32 lcd_data, u8 point);
|
|||
|
|
|||
|
static void LcdDisplayMenu(u8 num);
|
|||
|
static void LcdDisplayA1(u8 num);
|
|||
|
static void LcdDisplayA2(u8 num);
|
|||
|
static void LcdDisplayA3(u8 num);
|
|||
|
static void LcdDisplayA4(u8 num);
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
/****************************************/
|
|||
|
|
|||
|
/*************************************************
|
|||
|
Function:void KeySet1sTimer(u16 time5ms_span)
|
|||
|
Description: <EFBFBD><EFBFBD><EFBFBD><EFBFBD>5ms<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
|
|||
|
Input: time5ms_span:ʱ<EFBFBD><EFBFBD>
|
|||
|
Return: SUCCESS<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><EFBFBD><EFBFBD>ERROR <EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>ʧ<EFBFBD><EFBFBD>
|
|||
|
Others:<EFBFBD>ڲ<EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
*************************************************/
|
|||
|
//static void LcdSet1sTimer(u32 time1s_span)
|
|||
|
//{
|
|||
|
// s_Lcd_time_num = time1s_span * 1000 * 1000;
|
|||
|
// s_Lcd_time_old_num = Timer1usGetTick();
|
|||
|
//}
|
|||
|
/*************************************************
|
|||
|
Function: u8 KeyCheck1sTimer(void)
|
|||
|
Description: <EFBFBD><EFBFBD><EFBFBD>鶨ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰֵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱʱ<EFBFBD>䵽
|
|||
|
Input: void
|
|||
|
Return: <EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰֵ
|
|||
|
Others: <EFBFBD>ڲ<EFBFBD><EFBFBD>ӿ<EFBFBD>
|
|||
|
*************************************************/
|
|||
|
//static u8 LcdCheck1sTimer(void)
|
|||
|
//{
|
|||
|
// u32 tmp_count = 0;
|
|||
|
|
|||
|
// tmp_count = Timer1usGetTick() - s_Lcd_time_old_num;
|
|||
|
|
|||
|
// if(tmp_count >= s_Lcd_time_num)
|
|||
|
// {
|
|||
|
// return 0;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// return 1;
|
|||
|
// }
|
|||
|
//}
|
|||
|
///*************************************************
|
|||
|
//Function:void KeySet5msTimer(u16 time5ms_span)
|
|||
|
//Description: <20><><EFBFBD><EFBFBD>5ms<6D><73>ʱ<EFBFBD><CAB1>
|
|||
|
//Input: time5ms_span:ʱ<><CAB1>
|
|||
|
//Return: SUCCESS<53><53><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>ERROR <20><><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>ʧ<EFBFBD><CAA7>
|
|||
|
//Others:<3A>ڲ<EFBFBD><DAB2>ӿ<EFBFBD>
|
|||
|
//*************************************************/
|
|||
|
//static void LcdSet_first5msTimer(u32 time5ms_span)
|
|||
|
//{
|
|||
|
// s_Lcd_first_time_num = time5ms_span * 1000 * 5;
|
|||
|
// s_Lcd_first_time_old_num = Timer1usGetTick();
|
|||
|
//}
|
|||
|
///*************************************************
|
|||
|
//Function: u8 KeyCheck5msTimer(void)
|
|||
|
//Description: <20><><EFBFBD>鶨ʱ<E9B6A8><CAB1><EFBFBD><EFBFBD>ǰֵ<C7B0><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>ʱʱ<CAB1>䵽
|
|||
|
//Input: void
|
|||
|
//Return: <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>ǰֵ
|
|||
|
//Others: <09>ڲ<EFBFBD><DAB2>ӿ<EFBFBD>
|
|||
|
//*************************************************/
|
|||
|
//static u8 Lcd_firstCheck5msTimer(void)
|
|||
|
//{
|
|||
|
// u32 tmp_count = 0;
|
|||
|
|
|||
|
// tmp_count = Timer1usGetTick() - s_Lcd_first_time_old_num;
|
|||
|
|
|||
|
// if(tmp_count >= s_Lcd_first_time_num)
|
|||
|
// {
|
|||
|
// return 0;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// return 1;
|
|||
|
// }
|
|||
|
//}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static void LcdUpdateData()
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdUpdateData()
|
|||
|
{
|
|||
|
if (s_fst_num == A1 && s_sec_num != AB0)
|
|||
|
{
|
|||
|
if (s_a1_backup != GetA1Data(s_a1_index))
|
|||
|
{
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
if (s_fst_num == A2 && s_sec_num != AB0)
|
|||
|
{
|
|||
|
if (s_a2_backup != GetA2Data(s_a2_index))
|
|||
|
{
|
|||
|
LcdDisplayA2(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
if (s_fst_num == A3 && s_sec_num != AB0)
|
|||
|
{
|
|||
|
if (s_a3_backup != GetA3Data(s_a3_index))
|
|||
|
{
|
|||
|
LcdDisplayA3(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
if (s_fst_num == A4 && s_sec_num != AB0)
|
|||
|
{
|
|||
|
if (s_a4_backup != GetA4Data(s_a4_index))
|
|||
|
{
|
|||
|
LcdDisplayA4(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static void LcdDispayU32Data(u32 lcd_data, u8 point)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾU32<EFBFBD><EFBFBD>
|
|||
|
* @param[in] u32 lcd_data, u8 point
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDispayU32Data(u32 lcd_data, u8 point)
|
|||
|
{
|
|||
|
s8 index = 8;
|
|||
|
u8 n;
|
|||
|
if (lcd_data != 0)
|
|||
|
{
|
|||
|
while (lcd_data && index >= 0)
|
|||
|
{
|
|||
|
LcdDisplayData(index--, lcd_data % 10);
|
|||
|
lcd_data /= 10;
|
|||
|
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
n=6-point;
|
|||
|
while(n&&(point!=0))
|
|||
|
{
|
|||
|
LcdDisplayData(index--,0);
|
|||
|
n--;
|
|||
|
}
|
|||
|
if(0==point) // whn 2017-10-12
|
|||
|
{
|
|||
|
LcdDisplayData(8,0);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
|
|||
|
switch(point)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());
|
|||
|
break;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P1);
|
|||
|
break;
|
|||
|
}
|
|||
|
case 2:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P2);
|
|||
|
break;
|
|||
|
}
|
|||
|
case 3:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case 4:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P4);
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
///*************************************************************************************
|
|||
|
// * @fun_name static void LcdDispayTimeU32Data(u32 lcd_time_data)
|
|||
|
// * @brief LCD<43><44>ʾu32<33><32>
|
|||
|
// * @param[in] u32 lcd_data, u8 point
|
|||
|
// * @param[out] None
|
|||
|
// * @retval None
|
|||
|
// * @other None
|
|||
|
// *************************************************************************************/
|
|||
|
//static void LcdDispayTimeU32Data(u32 lcd_time_data)
|
|||
|
//{
|
|||
|
// if (lcd_time_data <100)
|
|||
|
// {
|
|||
|
// if (lcd_time_data == 0)
|
|||
|
// {
|
|||
|
// LcdDisplayData(7, 0);
|
|||
|
// LcdDisplayData(6, 0);
|
|||
|
// LcdDisplayData(5, 0);
|
|||
|
// }
|
|||
|
// else if(s_a1_backup < 10)
|
|||
|
// {
|
|||
|
// LcdDisplayData(6, 0);
|
|||
|
// LcdDisplayData(5, 0);
|
|||
|
// LcdDispayU32Data(s_a1_backup, 0);
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// LcdDisplayData(5, 0);
|
|||
|
// LcdDispayU32Data(s_a1_backup, 0);
|
|||
|
// }
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// s8 index = 7;
|
|||
|
// while (lcd_time_data && index >= 0)
|
|||
|
// {
|
|||
|
// LcdDisplayData(index--, lcd_time_data % 10);
|
|||
|
// lcd_time_data /= 10;
|
|||
|
// }
|
|||
|
// }
|
|||
|
//}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static void LcdDispayFLoat(float lcd_data, u8 point)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] float lcd_data, u8 point
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDispayFLoat(float lcd_data, u8 point)
|
|||
|
{
|
|||
|
s8 index = 9;
|
|||
|
u64 udata = 0;
|
|||
|
float temp = lcd_data;
|
|||
|
if (temp < 0)
|
|||
|
{
|
|||
|
temp = -temp;
|
|||
|
}
|
|||
|
switch(point)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
{
|
|||
|
temp=1000000*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());//<2F><><EFBFBD><EFBFBD>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
{
|
|||
|
temp=100000*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P1 |FUN_P1G|FUN_P2G|FUN_P3G|FUN_P4G|FUN_P5G);//<2F><>ʾP1С<31><D0A1><EFBFBD><EFBFBD> gaishanxiugai
|
|||
|
break;
|
|||
|
}
|
|||
|
case 2:
|
|||
|
{
|
|||
|
temp=10000*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P2 |FUN_P2G|FUN_P3G|FUN_P4G|FUN_P5G);//<2F><>ʾP2С<32><D0A1><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
case 3:
|
|||
|
{
|
|||
|
temp=1000*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P3 |FUN_P3G|FUN_P4G|FUN_P5G);//<2F><>ʾP3С<33><D0A1><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
case 4:
|
|||
|
{
|
|||
|
temp=100*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P4 |FUN_P4G|FUN_P5G); //<2F><>ʾP4С<34><D0A1><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
case 5:
|
|||
|
{
|
|||
|
temp=10*temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_P5 |FUN_P5G); //<2F><>ʾP5С<35><D0A1><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
temp=temp;
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());//<2F><><EFBFBD><EFBFBD>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
udata = (u64) (temp );
|
|||
|
if (udata != 0)
|
|||
|
{
|
|||
|
while (udata && index >= 0)
|
|||
|
{
|
|||
|
LcdDisplayData(index--, udata % 10);
|
|||
|
udata /= 10;
|
|||
|
}
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(9, 0);//gaishanxiugai
|
|||
|
}
|
|||
|
//<2F><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>
|
|||
|
if (point > 0 && point < 6)
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | (FUN_REVERSE << point));
|
|||
|
while (index >= (3 + point))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
{
|
|||
|
LcdDisplayData(index--, 0);
|
|||
|
}
|
|||
|
}
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
if (index >=0&& (lcd_data < 0))
|
|||
|
{
|
|||
|
LcdDisplayData(index--, DIS_HG);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static u32 GetA1Data(u8 index)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A1<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] index
|
|||
|
* @param[out] data
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static u32 GetA1Data(u8 index)
|
|||
|
{
|
|||
|
u32 data = 0;
|
|||
|
if (index == 0x55)
|
|||
|
{
|
|||
|
data = RtccGetWorkHourApp(); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
}
|
|||
|
else if(index==GP30_APP_INS_FLOW)
|
|||
|
{
|
|||
|
data=Gp30CheckDataApp(GP30_APP_INS_FLOW); //<2F><>ȡ˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else if( index == GP30_APP_TOTAL_FLOW)
|
|||
|
{
|
|||
|
data =Gp30CheckDataApp(GP30_APP_TOTAL_FLOW) ; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else if( index == GP30_APP_TOTAL_FLOW_REVERSE)
|
|||
|
{
|
|||
|
data =Gp30CheckDataApp(GP30_APP_TOTAL_FLOW_REVERSE) ; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
return data;
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static u32 GetA2Data(u8 index)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A2<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] index
|
|||
|
* @param[out] data
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
|
|||
|
static u32 GetA2Data(u8 index)
|
|||
|
{
|
|||
|
u32 data = 0;
|
|||
|
if (index == 0x11)
|
|||
|
{
|
|||
|
//<2F><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
static DateTime date;
|
|||
|
if (RtccGetDateTime(&date))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7>ʱ<EFBFBD><CAB1>
|
|||
|
{
|
|||
|
data |= ((u32) date.s.year) << 16;
|
|||
|
data |= ((u32) date.s.month) << 8;
|
|||
|
data |= date.s.day;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data = 0xEEEEEE;//<2F><><EFBFBD><EFBFBD>ȡ<EFBFBD><C8A1>ʱ<EFBFBD>䲻<EFBFBD><E4B2BB>ȷ
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
else if (index == 0x22) //<2F><>ǰʱ<C7B0><CAB1>
|
|||
|
{
|
|||
|
|
|||
|
static DateTime time;
|
|||
|
if (RtccGetDateTime(&time))
|
|||
|
{
|
|||
|
data |= ((u32) time.s.hour) << 16;
|
|||
|
data |= ((u32) time.s.minute) << 8;
|
|||
|
data |= time.s.second;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data = 0xEEEEEE;
|
|||
|
}
|
|||
|
}
|
|||
|
else if(index==1) //<2F>ھ<EFBFBD>
|
|||
|
{
|
|||
|
data = FrameCheckParaApp(FramePara_DNx);//2019-11-11<31><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD>ھ<EFBFBD><DABE><EFBFBD> FrameCheckParaApp(19)<29><>Ϊ FrameCheckParaApp(0),<2C><><EFBFBD><EFBFBD>GP30
|
|||
|
}
|
|||
|
else if(index==2)//<2F>汾<EFBFBD><E6B1BE>
|
|||
|
{
|
|||
|
data = FrameCheckParaApp(FramePara_ProgVersion);
|
|||
|
}
|
|||
|
else if(index==4)
|
|||
|
{
|
|||
|
data = FrameCheckParaApp(FramePara_MetAddr0_3) ; //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>Ƶ<EFBFBD>ַ<EFBFBD><D6B7>4
|
|||
|
}
|
|||
|
else if(index==3)
|
|||
|
{
|
|||
|
data = FrameCheckParaApp(FramePara_MetAddr4); //<2F><>ȡ<EFBFBD><C8A1><EFBFBD>ǵ<EFBFBD>ַ<EFBFBD><D6B7>1
|
|||
|
}
|
|||
|
else if(index==5)//<2F><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
{
|
|||
|
data = Read_Flow_CofficientApp_For_LCD(6);
|
|||
|
}
|
|||
|
else if(index==6)//<2F><>ʾ<EFBFBD><CABE>1<EFBFBD><31><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
{
|
|||
|
data=Read_Flow_CofficientApp_For_LCD(7);
|
|||
|
}
|
|||
|
else if(index==7)//<2F><>ʾ<EFBFBD><CABE>2<EFBFBD><32><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
{
|
|||
|
data=Read_Flow_CofficientApp_For_LCD(8);
|
|||
|
}
|
|||
|
else if(index==8)//<2F><>ʾ<EFBFBD><CABE>3<EFBFBD><33><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
{
|
|||
|
data=Read_Flow_CofficientApp_For_LCD(9);
|
|||
|
}
|
|||
|
else if(index==9)//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
{
|
|||
|
data=Read_Flow_CofficientApp_For_LCD(10);
|
|||
|
}
|
|||
|
else if(index==10)//<2F><>ʾboot<6F>汾<EFBFBD><E6B1BE>
|
|||
|
{
|
|||
|
data=FrameCheckParaApp(FramePara_BootVersion);
|
|||
|
}
|
|||
|
else if(index ==11)//NB״̬<D7B4><CCAC>Ϣ
|
|||
|
{
|
|||
|
data = sys_get_net_state();
|
|||
|
}
|
|||
|
return data;
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static u32 GetA3Data(u8 index)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A3<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] index
|
|||
|
* @param[out] data
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static u32 GetA3Data(u8 index)
|
|||
|
{
|
|||
|
u8 data = 0;
|
|||
|
//u8 temp;
|
|||
|
u8 Lcd_Frame_state;
|
|||
|
//temp = s_lcd_check_gp30_msg;
|
|||
|
Lcd_Frame_state = s_lcd_check_gp30_app_msg;
|
|||
|
if(index == 0x01)
|
|||
|
{
|
|||
|
if (0x08 ==(Lcd_Frame_state & (0x08)))//bit3 <20>ܵ<EFBFBD><DCB5><EFBFBD>ˮ data<74><61>0 1 2 3λ<33><CEBB>Ϊ1<CEAA><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD><CFBB><EFBFBD>ˮ<EFBFBD>³<EFBFBD><C2B3>ޣ<EFBFBD><DEA3><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0><EFBFBD><EFBFBD><EFBFBD>ܵ<EFBFBD><DCB5><EFBFBD>ˮ
|
|||
|
{
|
|||
|
data |= 0x08;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~(0x08);
|
|||
|
}
|
|||
|
if (0x04 ==(Lcd_Frame_state & (0x04)))// bit2 <20><><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
|
|||
|
{
|
|||
|
data |= 0x04;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~(0x04);
|
|||
|
}
|
|||
|
if (0x02 == (Lcd_Frame_state & (0x02)))//bit1 ˮ<>³<EFBFBD><C2B3><EFBFBD><EFBFBD>¶ȵȼ<C8B5><C8BC><EFBFBD>Χ
|
|||
|
{
|
|||
|
data |= 0x02;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~(0x02);
|
|||
|
}
|
|||
|
if(0x40 == (Lcd_Frame_state & 0x40))//bit6 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>
|
|||
|
{
|
|||
|
data|= 0x01;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= (~0x01);
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
else if (index == 0x02)//
|
|||
|
{
|
|||
|
// s_lcd_valve_stat = ValveGetStateApp();
|
|||
|
//if(0x08 ==(temp &(0x08)))//bit3 GP30<33><30><EFBFBD><EFBFBD> data<74><61>4 5 6 7λ<37><CEBB>Ϊ2<CEAA><32><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣
|
|||
|
if(0x10 ==(Lcd_Frame_state &(0x10)))
|
|||
|
{ //<2F>ֱ<EFBFBD><D6B1><EFBFBD><EFBFBD><EFBFBD>Ϊ GP30<33><30><EFBFBD>ϣ<EFBFBD><CFA3>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8><EFBFBD>쳣
|
|||
|
data |= 0x10;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~(0x10);
|
|||
|
}
|
|||
|
// if(0x01==Check_Ip_Set_Message())//IP<49><50><EFBFBD><EFBFBD>ʧ<EFBFBD><CAA7>
|
|||
|
// {
|
|||
|
// data |=0x20;
|
|||
|
// }
|
|||
|
// else
|
|||
|
// {
|
|||
|
// data&=~(0x20);
|
|||
|
// }
|
|||
|
if(NB_SS_Control_GetPara(NB_UploadFailTimes))//<2F><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
data |= 0x80;//<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ź<EFBFBD><C5B9>ϱ<EFBFBD>־
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~(0x80);//<2F><><EFBFBD><EFBFBD>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD>Ź<EFBFBD><C5B9>ϱ<EFBFBD>־
|
|||
|
}
|
|||
|
#if defined(VALVE)//<2F><><EFBFBD>Ź<EFBFBD><C5B9>ϱ<EFBFBD>־
|
|||
|
if(Sys_data_object.P1.ies_valve_paras.valve_err)
|
|||
|
{
|
|||
|
data |= 0x40;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
data &= ~0x40;
|
|||
|
}
|
|||
|
#endif
|
|||
|
}
|
|||
|
return data;
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name static u32 GetA4Data(u8 index)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD>A4<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] index
|
|||
|
* @param[out] data
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static u32 GetA4Data(u8 index)
|
|||
|
{
|
|||
|
u32 data = 0;
|
|||
|
To_lcd_Float temp;
|
|||
|
|
|||
|
if( index == GP30_APP_TOTAL_FLOW )//<2F><>ȡ<EFBFBD>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
data=Gp30CheckTestDataApp(GP30_APP_TOTAL_FLOW);
|
|||
|
}
|
|||
|
else if (index ==GP30_APP_INS_FLOW) //<2F><>ȡ˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
data=Gp30CheckTestDataApp(GP30_APP_INS_FLOW_LCD);
|
|||
|
}
|
|||
|
else if(index==GP30_APP_DIFF)//TOFʱ<46><CAB1><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
// data= Gp22TimeDiffer(4);
|
|||
|
data=Gp30CheckTestDataApp(GP30_APP_DIFF);
|
|||
|
}
|
|||
|
else if(index==GP30_APP_TOF)//<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>up˳<70><CBB3>ʱ<EFBFBD><CAB1>
|
|||
|
{
|
|||
|
data= Gp30CheckTestDataApp(GP30_APP_TOF);//ʵʱup<75><70><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
}
|
|||
|
else if(index==GP30_APP_DOWN) //<2F><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>down<77><6E><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
{
|
|||
|
data= Gp30CheckTestDataApp(GP30_APP_DOWN);//ʵʱdown<77><6E><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
}
|
|||
|
else if(index==GP30_APP_TEMP)//<2F>¶<EFBFBD>ֵ
|
|||
|
{
|
|||
|
temp.gp22_float = TempCheckValueApp();
|
|||
|
return temp.gp22_u32;
|
|||
|
}
|
|||
|
return data;
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdDisplayMenu(u8 num)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾһ<EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>
|
|||
|
* @param[in] num :1-5
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDisplayMenu(u8 num)
|
|||
|
{
|
|||
|
//<2F><>ʾЧ<CABE><D0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>A1 A2 A3 A4
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
if (num > 0 && num < 5)
|
|||
|
{
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());
|
|||
|
LcdDisplayData(3, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(4, DIS_A); //<2F><>ʾA
|
|||
|
LcdDisplayData(5, num); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(6, DIS_HG); //<2F><>ʾ-
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(3, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(4, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(5, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(6, DIS_A); //<2F><>ʾA
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdDisplayA1(u8 num)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>A1
|
|||
|
* @param[in] num:<EFBFBD><EFBFBD>1<EFBFBD><EFBFBD>ʼ
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDisplayA1(u8 num)
|
|||
|
{
|
|||
|
To_lcd_Float temp;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
switch (num)
|
|||
|
{
|
|||
|
case A1B1:
|
|||
|
{
|
|||
|
// //<2F><>ȷ5λС<CEBB><D0A1>
|
|||
|
LcdDisplayFun(A1_ACCUMULATE_FLOW); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.001m3)
|
|||
|
s_a1_index = GP30_APP_TOTAL_FLOW;
|
|||
|
s_a1_backup = GetA1Data(s_a1_index);
|
|||
|
temp.gp22_u32 =s_a1_backup;
|
|||
|
|
|||
|
if (temp.gp22_float < A1_TOTAL_DISPLAY_4_D)//С<><D0A1>10<31><30><EFBFBD><EFBFBD>ʾ5λ
|
|||
|
{
|
|||
|
LcdDispayFLoat(temp.gp22_float / 100, 1); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
else //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ3λС<CEBB><D0A1>
|
|||
|
{
|
|||
|
LcdDispayFLoat(temp.gp22_float / 100, 3); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case A1B2:
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
LcdDisplayFun(A1_ACCUMULATE_FLOW_REVERSE); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.001m3)
|
|||
|
s_a1_index = GP30_APP_TOTAL_FLOW_REVERSE;
|
|||
|
s_a1_backup = GetA1Data(s_a1_index);
|
|||
|
temp.gp22_u32 =s_a1_backup;
|
|||
|
|
|||
|
|
|||
|
if (temp.gp22_float < A1_TOTAL_DISPLAY_2_D)
|
|||
|
{
|
|||
|
LcdDispayFLoat(-(temp.gp22_float / 100), 3); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
else if (temp.gp22_float < A1_TOTAL_DISPLAY_1_D)
|
|||
|
{
|
|||
|
LcdDispayFLoat(-(temp.gp22_float / 100), 4); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
else if (temp.gp22_float < A1_TOTAL_DISPLAY_0_D)
|
|||
|
{
|
|||
|
LcdDispayFLoat(-(temp.gp22_float / 100), 5); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
else //<2F><><EFBFBD>ݹ<EFBFBD><DDB9><EFBFBD><F3A3ACB2><EFBFBD>ʾС<CABE><D0A1><EFBFBD>㡣
|
|||
|
{
|
|||
|
LcdDispayFLoat(-(temp.gp22_float / 100), 6); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD><C5B4><EFBFBD><EFBFBD><EFBFBD>100)
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case A1B3:
|
|||
|
{
|
|||
|
LcdDisplayFun(A1_TIME_FLOW); //˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>(<28><>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.00001m3/h)
|
|||
|
s_a1_index = GP30_APP_INS_FLOW;
|
|||
|
s_a1_backup = GetA1Data(s_a1_index);
|
|||
|
LcdDispayFLoat(s_a1_backup / (float)65536.00/1000, 1); //0.00001m3/h)
|
|||
|
break;
|
|||
|
}
|
|||
|
case A1B4:
|
|||
|
{
|
|||
|
LcdDisplayFun(A1_ACCUMULATE_TIME); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>(<28>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
s_a1_index = 0x55;
|
|||
|
s_a1_backup = GetA1Data(s_a1_index);
|
|||
|
if(s_a1_backup < 10)
|
|||
|
{
|
|||
|
LcdDisplayData(7, 0);
|
|||
|
LcdDisplayData(6, 0);
|
|||
|
LcdDispayU32Data(s_a1_backup, 0);
|
|||
|
}
|
|||
|
else if(s_a1_backup < 100)
|
|||
|
{
|
|||
|
LcdDisplayData(6, 0);
|
|||
|
LcdDispayU32Data(s_a1_backup, 0);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDispayU32Data(s_a1_backup, 0);
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case A1B5://ȫ<><C8AB>
|
|||
|
{
|
|||
|
LcdDisplayAll();
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
default:
|
|||
|
{
|
|||
|
LcdDisplayData(2, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(3, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(4, DIS_A); //<2F><>ʾA
|
|||
|
LcdDisplayData(5, DIS_1); //<2F><>ʾ1
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdDisplayA2(u8 num)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>A2
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
//extern void setuploadflag(void);
|
|||
|
//u8 uploadcnt=0;
|
|||
|
static void LcdDisplayA2(u8 num)
|
|||
|
{
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());//<2F>̻<EFBFBD><CCBB>ַ<EFBFBD>
|
|||
|
switch (num)
|
|||
|
{
|
|||
|
case A2B1:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD>
|
|||
|
s_a2_index = 0x11;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayData(1, (s_a2_backup >> 20)&0x0F);
|
|||
|
LcdDisplayData(2, (s_a2_backup >> 16)&0x0F);
|
|||
|
LcdDisplayData(3, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(4, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(6, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
// uploadcnt=0;
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B2:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE>ǰʱ<C7B0><CAB1><EFBFBD><EFBFBD>
|
|||
|
s_a2_index = 0x22;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayData(1, (s_a2_backup >> 20)&0x0F);
|
|||
|
LcdDisplayData(2, (s_a2_backup >> 16)&0x0F);
|
|||
|
LcdDisplayData(3, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(4, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(6, DIS_HG); //<2F><>ʾ-
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
/* uploadcnt++;
|
|||
|
if(uploadcnt==10)
|
|||
|
{
|
|||
|
setuploadflag();
|
|||
|
}*/
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B3:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD>ھ<EFBFBD>1- 20
|
|||
|
LcdDisplayData(1, 1);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 1;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDispayU32Data((s_a2_backup / 16 * 10 + s_a2_backup % 16), 0);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B4:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD>汾<EFBFBD><E6B1BE>2- b0.1
|
|||
|
LcdDisplayData(1, 2);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 2;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index); //0xB0, 0x10, 0x00, 0x00
|
|||
|
LcdDisplayFun(FUN_P3);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 28)&0x0F);
|
|||
|
LcdDisplayData(6, (s_a2_backup >> 24)&0x0F);
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 20)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 16)&0x0F);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B5:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>(ͨѶ<CDA8><D1B6>ַ<EFBFBD><D6B7>һ<EFBFBD><D2BB><EFBFBD>ֽڣ<D6BD>
|
|||
|
LcdDisplayData(1, 3);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 3;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayData(3, (s_a2_backup >> 20)&0x0F);
|
|||
|
LcdDisplayData(4, (s_a2_backup >> 16)&0x0F);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(6, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B6:
|
|||
|
{
|
|||
|
//<2F><>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ֽ<EFBFBD>
|
|||
|
s_a2_index = 4;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayData(1, (s_a2_backup >> 28)&0x0F);
|
|||
|
LcdDisplayData(2, (s_a2_backup >> 24)&0x0F);
|
|||
|
LcdDisplayData(3, (s_a2_backup >> 20)&0x0F);
|
|||
|
LcdDisplayData(4, (s_a2_backup >> 16)&0x0F);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(6, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B7:
|
|||
|
{
|
|||
|
//<2F><>ʾС<CABE><D0A1><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
LcdDisplayData(1, 4);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 5;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index); //0x00010000;
|
|||
|
LcdDispayFLoat(s_a2_backup / 65536.00, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B8:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE>1<EFBFBD><31><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
LcdDisplayData(1, 5);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 6;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDispayFLoat(s_a2_backup / 65536.00, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B9:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE>2<EFBFBD><32><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
LcdDisplayData(1, 6);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 7;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDispayFLoat(s_a2_backup / 65536.00, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B10:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE>3<EFBFBD><33><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
LcdDisplayData(1, 7);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 8;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDispayFLoat(s_a2_backup / 65536.00, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B11:
|
|||
|
{
|
|||
|
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5>
|
|||
|
LcdDisplayData(1, 8);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 9;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDispayFLoat(s_a2_backup / 65536.00, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B12:
|
|||
|
{
|
|||
|
//<2F><>ʾboot<6F>汾<EFBFBD><E6B1BE>
|
|||
|
LcdDisplayData(1, 9);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 10;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayFun(FUN_P3);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(6, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B13:
|
|||
|
{
|
|||
|
//<2F><>ʾӲ<CABE><D3B2><EFBFBD>汾- 00.14
|
|||
|
LcdDisplayData(1, 10);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a2_index = 2;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
LcdDisplayFun(FUN_P3);
|
|||
|
LcdDisplayData(5, (s_a2_backup >> 12)&0x0F);
|
|||
|
LcdDisplayData(6, (s_a2_backup >> 8)&0x0F);
|
|||
|
LcdDisplayData(7, (s_a2_backup >> 4)&0x0F);
|
|||
|
LcdDisplayData(8, (s_a2_backup >> 0)&0x0F);
|
|||
|
break;
|
|||
|
}
|
|||
|
case A2B14://NB״̬<D7B4><CCAC>Ϣ
|
|||
|
{
|
|||
|
s_a2_index = 11;
|
|||
|
s_a2_backup = GetA2Data(s_a2_index);
|
|||
|
UNION_4U8TOU32 tempdata;
|
|||
|
tempdata.datas = s_a2_backup;
|
|||
|
if((s_a2_backup&0xFF)==1)//<2F><>ʼ<EFBFBD><CABC>
|
|||
|
{
|
|||
|
LcdDisplayData(0, 11);
|
|||
|
LcdDisplayData(1, DIS_HG);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(2, tempdata.data_buf[0]);
|
|||
|
LcdDisplayData(3, DIS_HG);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(4, tempdata.data_buf[1]/10);
|
|||
|
LcdDisplayData(5, tempdata.data_buf[1]%10);
|
|||
|
//cereg
|
|||
|
LcdDisplayData(6, DIS_HG);
|
|||
|
LcdDisplayData(7, tempdata.data_buf[2]);
|
|||
|
//cgatt
|
|||
|
LcdDisplayData(8, DIS_HG);
|
|||
|
LcdDisplayData(9, tempdata.data_buf[3]);
|
|||
|
}
|
|||
|
if((s_a2_backup&0xFF)==2)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayData(0, 11);
|
|||
|
LcdDisplayData(1, DIS_HG);
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(2, tempdata.data_buf[0]);
|
|||
|
LcdDisplayData(3, DIS_HG);
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(4, tempdata.data_buf[1]/10);
|
|||
|
LcdDisplayData(5, tempdata.data_buf[1]%10);
|
|||
|
//cereg
|
|||
|
LcdDisplayData(6, DIS_HG);
|
|||
|
LcdDisplayData(7, tempdata.data_buf[2]);
|
|||
|
//cgatt
|
|||
|
LcdDisplayData(8, DIS_HG);
|
|||
|
LcdDisplayData(9, tempdata.data_buf[3]);
|
|||
|
}
|
|||
|
if((s_a2_backup&0xFF)==3)//<2F>ź<EFBFBD><C5BA><EFBFBD><EFBFBD><EFBFBD>ֵ
|
|||
|
{
|
|||
|
//RSRP
|
|||
|
LcdDisplayData(0, DIS_HG);
|
|||
|
LcdDisplayData(1, (tempdata.data_buf[1]/100));
|
|||
|
LcdDisplayData(2, (tempdata.data_buf[1]/10)%10);
|
|||
|
LcdDisplayData(3, (tempdata.data_buf[1]%10));
|
|||
|
//SNR
|
|||
|
if(tempdata.data_buf[2]&0x80)//<2F><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayData(4, DIS_HG);
|
|||
|
LcdDisplayData(5, (tempdata.data_buf[2]&0x7F)/10);
|
|||
|
LcdDisplayData(6, (tempdata.data_buf[2]&0x7F)%10);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(4, DIS_BLANK);
|
|||
|
LcdDisplayData(5, (tempdata.data_buf[2]/10));
|
|||
|
LcdDisplayData(6, tempdata.data_buf[2]%10);
|
|||
|
}
|
|||
|
//CSQ
|
|||
|
LcdDisplayData(7, DIS_BLANK);
|
|||
|
LcdDisplayData(8, (tempdata.data_buf[3]/10));
|
|||
|
LcdDisplayData(9, (tempdata.data_buf[3]%10));
|
|||
|
}
|
|||
|
if((s_a2_backup&0xFF)==4)//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
{
|
|||
|
LcdDisplayData(0, 11);
|
|||
|
LcdDisplayData(1, DIS_HG);
|
|||
|
//<2F><><EFBFBD><EFBFBD>״̬
|
|||
|
LcdDisplayData(2, (tempdata.data_buf[1]));
|
|||
|
//<2F><><EFBFBD>ո<EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayData(3, DIS_HG);
|
|||
|
LcdDisplayData(4, tempdata.data_buf[2]/10);
|
|||
|
LcdDisplayData(5, tempdata.data_buf[2]%10);
|
|||
|
}
|
|||
|
|
|||
|
break;
|
|||
|
}
|
|||
|
|
|||
|
default:
|
|||
|
{
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdDisplayA3(u8 num)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>A3
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDisplayA3(u8 num)//<2F><>ѯ<EFBFBD>쳣MSG,<2C><>Ӧλ<D3A6><CEBB>1<EFBFBD><31><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayFun(LcdGetDisplayFun());//<2F>̻<EFBFBD><CCBB>ַ<EFBFBD>
|
|||
|
switch (num)
|
|||
|
{
|
|||
|
case A3B1://<2F><><EFBFBD><EFBFBD>1-0000
|
|||
|
{
|
|||
|
LcdDisplayData(1, 1);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a3_index = 0x01;
|
|||
|
s_a3_backup = GetA3Data(s_a3_index);
|
|||
|
if ((s_a3_backup>>2) & 0x01)//<2F><>ʾ<EFBFBD><CABE>1-1000<30><30><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>
|
|||
|
{
|
|||
|
LcdDisplayData(5, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(5, 0);
|
|||
|
}
|
|||
|
if ((s_a3_backup>>3) & 0x01)//<2F><>ʾ<EFBFBD><CABE>1-0100<30>ܵ<EFBFBD><DCB5><EFBFBD>ˮ
|
|||
|
{
|
|||
|
LcdDisplayData(6, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(6, 0);
|
|||
|
}
|
|||
|
if ((s_a3_backup) & 0x01)// <20><>ʾ<EFBFBD><CABE>1-0010<31><30><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϻ<EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayData(7, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(7, 0);
|
|||
|
}
|
|||
|
if((s_a3_backup>>1) & 0x01)//<2F><>ʾ<EFBFBD><CABE>1-0001ˮ<31>³<EFBFBD><C2B3><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayData(8, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(8, 0);
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case A3B2://<2F><><EFBFBD><EFBFBD>2- 0000
|
|||
|
{
|
|||
|
LcdDisplayData(1, 2);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a3_index = 0x02;
|
|||
|
s_a3_backup = GetA3Data(s_a3_index);
|
|||
|
if ((s_a3_backup>>4) & 0x01)//<2F><>ʾ<EFBFBD><CABE>2-1000 GP30<33>쳣
|
|||
|
{
|
|||
|
LcdDisplayData(5, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(5, 0);
|
|||
|
}
|
|||
|
if((s_a3_backup>>5) & 0x01)//<2F><>ʾ<EFBFBD><CABE>2-0100 <20>¶ȴ<C2B6><C8B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>쳣
|
|||
|
{
|
|||
|
LcdDisplayData(6, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(6, 0);
|
|||
|
}
|
|||
|
if((s_a3_backup>>6) & 0x01)//<2F><><EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayData(7, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(7, 0);
|
|||
|
}
|
|||
|
if ((s_a3_backup>>7) & 0x01)//<2F><>ʾ<EFBFBD><CABE>2-0001 <20>ϱ<EFBFBD><CFB1>쳣
|
|||
|
{
|
|||
|
LcdDisplayData(8, 1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayData(8, 0);
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdDisplayA4(u8 num)
|
|||
|
* @brief LCD<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD>A4
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
static void LcdDisplayA4(u8 num)
|
|||
|
{
|
|||
|
To_lcd_Float temp;
|
|||
|
float temp1;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
switch (num)
|
|||
|
{
|
|||
|
case A4B1:
|
|||
|
{
|
|||
|
//<2F><>ȷ5λС<CEBB><D0A1>
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_ACCUMULATE_FLOW_NOTEST); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(<28>춨ʱ<ECB6A8><CAB1>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.00001m3,<2C><>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB>ΪL,<2C><>0.01L)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_ACCUMULATE_FLOW); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(<28>춨ʱ<ECB6A8><CAB1>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.00001m3,<2C><>ʾ<EFBFBD><CABE>λ<EFBFBD><CEBB>ΪL,<2C><>0.01L)
|
|||
|
}
|
|||
|
s_a4_index = GP30_APP_TOTAL_FLOW;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
temp.gp22_u32 =s_a4_backup;
|
|||
|
LcdDispayFLoat(temp.gp22_float / 100000, 1); //<2F>ۼ<EFBFBD><DBBC><EFBFBD><EFBFBD><EFBFBD>(float(iEEE754),<2C>Ŵ<EFBFBD>100000)
|
|||
|
break;
|
|||
|
}
|
|||
|
case A4B2:
|
|||
|
{
|
|||
|
//<2F><>ȷ5λС<CEBB><D0A1>
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_TIME_FLOW_NOTEST); // ˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>(<28>춨ʱ<ECB6A8><CAB1>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.0001m3/h)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_TIME_FLOW); // ˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD>(<28>춨ʱ<ECB6A8><CAB1>ʾ<EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ0.0001m3/h)
|
|||
|
}
|
|||
|
s_a4_index = GP30_APP_INS_FLOW;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
LcdDispayFLoat(s_a4_backup/ 65536.00/1000, 1);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
break;
|
|||
|
}
|
|||
|
case A4B3:
|
|||
|
{
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_TOF_TIME_NOTEST); // TOFʱ<46><CAB1><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_TOF_TIME); // TOFʱ<46><CAB1><EFBFBD><EFBFBD>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
s_a4_index = GP30_APP_DIFF;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
if (s_a4_backup >= 0x80000000)
|
|||
|
{
|
|||
|
s_a4_backup = s_a4_backup & 0x7FFFFFFF;
|
|||
|
temp1 = (float)((s_a4_backup) / 65536.0* (-25.0));//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
temp1 =(float)((s_a4_backup) / 65536.0*25.0); //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
LcdDispayFLoat(temp1/100, 0);//ps
|
|||
|
break;
|
|||
|
}
|
|||
|
case A4B4:
|
|||
|
{
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_SINGLE_TIME_NOTEST); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>up(<28>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_SINGLE_TIME); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>up(<28>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
LcdDisplayData(1, 1);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
s_a4_index = GP30_APP_TOF;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
temp1 =(float)(s_a4_backup / 65536.0*25.0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDispayFLoat(temp1/10000, 0); //<2F><>λΪns
|
|||
|
break;
|
|||
|
}
|
|||
|
case A4B5:
|
|||
|
{
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_SINGLE_TIME_NOTEST); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>down(<28>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_SINGLE_TIME); // <20><><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>down(<28>ֱ<EFBFBD><D6B1><EFBFBD>Ϊ1h)
|
|||
|
}
|
|||
|
LcdDisplayData(1, 2);
|
|||
|
LcdDisplayData(2, DIS_HG);
|
|||
|
|
|||
|
s_a4_index = GP30_APP_DOWN;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
temp1 = (float) ((s_a4_backup) / 65536.0*25.0 );//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
LcdDispayFLoat(temp1/10000, 0); //<2F><>λΪns
|
|||
|
break;
|
|||
|
}
|
|||
|
case A4B6:
|
|||
|
{
|
|||
|
if(Sys_data_object.P3.LCD_NoTestFlag == 0x55)
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_Tem_NOTEST); // <20>¶ȷֱ<C8B7><D6B1><EFBFBD>Ϊ0.1<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFun(A4_Tem); // <20>¶ȷֱ<C8B7><D6B1><EFBFBD>Ϊ0.1<EFBFBD><EFBFBD><EFBFBD>϶<EFBFBD>
|
|||
|
}
|
|||
|
#if WENDU_FANSUAN_OPEN
|
|||
|
LcdDisplayData(1, DIS_F);//<2F><>ʾF----ֻ<>з<EFBFBD><D0B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
|||
|
#endif
|
|||
|
s_a4_index = GP30_APP_TEMP;
|
|||
|
s_a4_backup = GetA4Data(s_a4_index);
|
|||
|
temp.gp22_u32 = s_a4_backup;
|
|||
|
LcdDispayFLoat(temp.gp22_float, 3);
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
LcdDisplayData(3, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(4, DIS_E); //<2F><>ʾE
|
|||
|
LcdDisplayData(5, DIS_A); //<2F><>ʾA
|
|||
|
LcdDisplayData(6, DIS_4); //<2F><>ʾ4
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdInitApp()
|
|||
|
* @brief LCDӦ<EFBFBD>ò<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
void LcdInitApp()
|
|||
|
{
|
|||
|
//״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
s_lcd_status_state = 0; //<2F><><EFBFBD><EFBFBD>״ָ̬ʾ״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
// s_lcd_rf_state = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״ָ̬ʾ״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
s_lcd_time_state = 0; //<2F><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
// s_lcd_ram_state = 0; //RAM<41><4D><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
s_lcd_key_state = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
// s_lcd_init_state = 0; //<2F><>ʼ<EFBFBD><CABC>״̬<D7B4><CCAC>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
// s_lcd_characters_state=1;//<2F><>ʼ<EFBFBD><CABC><EFBFBD>̻<EFBFBD><CCBB>ַ<EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>
|
|||
|
// s_lcd_valve_stat = 0;
|
|||
|
// s_lcd_first_power_state = 0;
|
|||
|
//<2F>˵<EFBFBD><CBB5><EFBFBD>
|
|||
|
if(Gp30GetTestRamFlag() == GP30_COPY_RESET_TEST_FLAG)
|
|||
|
{
|
|||
|
s_fst_num = A4;
|
|||
|
s_sec_num = A4B1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
s_fst_num = A1; //һ<><D2BB><EFBFBD>˵<EFBFBD><CBB5>IJ˵<C4B2><CBB5><EFBFBD>
|
|||
|
s_sec_num = A1B1; //<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>IJ˵<C4B2><CBB5><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
s_vol_app_state = NORMAL_POWER; //<2F><>¼<EFBFBD>ϴε<CFB4><CEB5>ص<EFBFBD>ѹ״̬
|
|||
|
// s_valve_state = 0x40; //<2F><>¼<EFBFBD>ϴη<CFB4><CEB7><EFBFBD>״̬
|
|||
|
s_low_flow_alarm_app_state = 0; //<2F><>¼<EFBFBD>ϴγ<CFB4><CEB3><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ź<EFBFBD>״̬
|
|||
|
s_alarm_app_state = 0; //<2F><>¼<EFBFBD>ϴα<CFB4><CEB1><EFBFBD>״̬
|
|||
|
s_failure_app_state = 0; //<2F><>¼<EFBFBD>ϴι<CFB4><CEB9><EFBFBD>״̬
|
|||
|
s_valve_app_state = 0;
|
|||
|
s_active_RF_app_state =1; //<2F><>¼<EFBFBD>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8>״̬ 1Ϊ<31><CEAA><EFBFBD><EFBFBD>
|
|||
|
s_a1_backup = 0; //<2F><>¼<EFBFBD>Ǽ춨״̬<D7B4>µ<EFBFBD>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
s_a4_backup = 0; //<2F><>¼<EFBFBD>춨״̬<D7B4>µ<EFBFBD>ǰLCD<43><44>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name u8 LcdCheckStateApp()
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD>ؼ춨״̬
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
u8 LcdCheckStateApp()
|
|||
|
{
|
|||
|
if (s_fst_num == A4)
|
|||
|
{
|
|||
|
return 01;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 10;
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name u8 LcdIfSleepApp()
|
|||
|
* @brief LCDӦ<EFBFBD>ò<EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
u8 LcdIfSleepApp()
|
|||
|
{
|
|||
|
if (s_fst_num == A2 && s_sec_num == A2B2)//ϵͳʱ<CDB3><CAB1><EFBFBD><EFBFBD><EFBFBD>治<EFBFBD><E6B2BB><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
else if (s_fst_num == A4 && s_sec_num != AB0)//<2F>춨״̬<D7B4><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
else if (s_lcd_status_state != 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>ʾ<EFBFBD><CABE>
|
|||
|
{
|
|||
|
return FALSE;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return TRUE;
|
|||
|
}
|
|||
|
}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name u16 LcdCheckMeumApp()
|
|||
|
* @brief LCD<EFBFBD><EFBFBD><EFBFBD>ز˵<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
u16 LcdCheckMeumApp()
|
|||
|
{
|
|||
|
return s_sec_num | ((u16) s_fst_num << 8);
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
/*******************************************************************************
|
|||
|
* @fun_name: lcd_alarmCheckMsgSys()
|
|||
|
* @brief : <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] : None
|
|||
|
* @param[out]: None
|
|||
|
* @retval : None
|
|||
|
* @other :
|
|||
|
******************************************************************************/
|
|||
|
u8 lcd_alarmCheckWarningMsg(void)
|
|||
|
{
|
|||
|
if ((s_lcd_check_gp30_app_msg & 0x40)|| //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
(s_lcd_check_gp30_app_msg & 0x02)|| //ˮ<>³<EFBFBD><C2B3><EFBFBD><EFBFBD>¶ȵȼ<C8B5><C8BC><EFBFBD>Χ
|
|||
|
(s_lcd_check_gp30_app_msg & 0x04)|| //<2F><>ת
|
|||
|
(s_lcd_check_gp30_app_msg & 0x08) //<2F><>ˮ
|
|||
|
) //<2F><><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD>
|
|||
|
{
|
|||
|
return 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
/*******************************************************************************
|
|||
|
* @fun_name: lcd_alarmCheckMsgSys()
|
|||
|
* @brief : <EFBFBD><EFBFBD><EFBFBD>ϼ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
* @param[in] : None
|
|||
|
* @param[out]: None
|
|||
|
* @retval : None
|
|||
|
* @other :
|
|||
|
******************************************************************************/
|
|||
|
u8 lcd_alarmCheckFaultMsg(void)//T2<54><32><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD><EFBFBD>Թ<EFBFBD><D4B9><EFBFBD>
|
|||
|
{
|
|||
|
if ((NB_SS_Control_GetPara(NB_UploadFailTimes)|| //<2F><>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>ͨ<EFBFBD>Ź<EFBFBD><C5B9><EFBFBD>
|
|||
|
(s_lcd_check_gp30_app_msg & 0x10)) || //GPXX<58>쳣
|
|||
|
(s_lcd_check_gp30_app_msg & 0x80) || //GPXXͨ<58>Ź<EFBFBD><C5B9><EFBFBD>
|
|||
|
(s_lcd_check_gp30_app_msg & 0x01) //<2F><><EFBFBD><EFBFBD>
|
|||
|
#if defined(VALVE)//<2F><><EFBFBD>Ź<EFBFBD><C5B9>ϱ<EFBFBD>־
|
|||
|
||(Sys_data_object.P1.ies_valve_paras.valve_err)
|
|||
|
#endif
|
|||
|
)
|
|||
|
{
|
|||
|
return 1;
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
return 0;
|
|||
|
}
|
|||
|
}
|
|||
|
/*******************************************************************************
|
|||
|
* @fun_name: LcdDispalyMetStatus()
|
|||
|
* @brief : LCDʵʱ<EFBFBD><EFBFBD>ʾ<EFBFBD><EFBFBD><EFBFBD>Ʊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD>״̬(<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>)
|
|||
|
* @param[in] : None
|
|||
|
* @param[out]: None
|
|||
|
* @retval : None
|
|||
|
* @other :
|
|||
|
******************************************************************************/
|
|||
|
void LcdDispalyMetStatus()
|
|||
|
{
|
|||
|
s_lcd_check_gp30_app_msg =Gp30CheckErrDataApp();
|
|||
|
switch (s_lcd_status_state)
|
|||
|
{
|
|||
|
case 0:
|
|||
|
{
|
|||
|
if (PowerCheckStatusSys ()!= s_vol_app_state)//T5<54><35>ѹ<EFBFBD><D1B9>
|
|||
|
{
|
|||
|
s_vol_app_state = PowerCheckStatusSys ();
|
|||
|
s_lcd_status_state = 1;
|
|||
|
}
|
|||
|
if ((s_lcd_check_gp30_app_msg & 0x20) != s_low_flow_alarm_app_state) //T4<54><34><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>bit5<74><35>
|
|||
|
{
|
|||
|
s_low_flow_alarm_app_state = s_lcd_check_gp30_app_msg & 0x20;
|
|||
|
s_lcd_status_state = 1;
|
|||
|
}
|
|||
|
if (lcd_alarmCheckWarningMsg() != s_alarm_app_state)//T1<54><31><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
s_alarm_app_state = lcd_alarmCheckWarningMsg();
|
|||
|
s_lcd_status_state = 1;
|
|||
|
}
|
|||
|
if (lcd_alarmCheckFaultMsg() != s_failure_app_state )//T2<54><32><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
s_failure_app_state =lcd_alarmCheckFaultMsg();
|
|||
|
s_lcd_status_state = 1;
|
|||
|
}
|
|||
|
#if defined(VALVE)
|
|||
|
if(ValveGetStateApp() != s_valve_app_state) /*<2A><><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD>ʾ*/
|
|||
|
{
|
|||
|
s_valve_app_state = ValveGetStateApp();
|
|||
|
s_lcd_status_state = 1;
|
|||
|
}
|
|||
|
#endif
|
|||
|
break;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
{
|
|||
|
if (PowerCheckStatusSys () == LOW_POWER)//<2F><>ѹ<EFBFBD><D1B9>
|
|||
|
{
|
|||
|
LcdDisplayVol(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayVol(0);
|
|||
|
}
|
|||
|
if (s_low_flow_alarm_app_state == 0x20)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayLowFlowAlarm(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayLowFlowAlarm(0);
|
|||
|
}
|
|||
|
if (s_alarm_app_state == 1)//<2F><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayAlarm(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayAlarm(0);
|
|||
|
}
|
|||
|
if (s_failure_app_state == 1)//<2F><><EFBFBD><EFBFBD>
|
|||
|
{
|
|||
|
LcdDisplayFailure(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayFailure(0);
|
|||
|
}
|
|||
|
if(s_active_RF_app_state==0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͨ<EFBFBD><CDA8> 0 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>æ
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(0);
|
|||
|
}
|
|||
|
if(VALVE_STATE_CLOSE == s_valve_app_state ||VALVE_STATE_CLOSE_EMERGENCY == s_valve_app_state || VALVE_STATE_CLOSE_LOCK == s_valve_app_state)//<2F><><EFBFBD>Źر<C5B9>
|
|||
|
{
|
|||
|
LcdDisplayValve(1);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayValve(0);
|
|||
|
}
|
|||
|
s_lcd_status_state = 0;
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
s_lcd_status_state = 0;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*******************************************************************************
|
|||
|
* @fun_name: LcdDisplayTimeUpChange()
|
|||
|
* @brief : LCD<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
|
|||
|
* @param[in] : None
|
|||
|
* @param[out]: None
|
|||
|
* @retval : None
|
|||
|
* @other :
|
|||
|
******************************************************************************/
|
|||
|
void LcdDisplayTimeUpChange()
|
|||
|
{
|
|||
|
switch (s_lcd_time_state)
|
|||
|
{
|
|||
|
case 0://<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ļ<EFBFBD><C4BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
|
|||
|
{
|
|||
|
if ((s_fst_num == A1 && s_sec_num != A1B1 ) || s_fst_num == A2 || s_fst_num == A3)
|
|||
|
{
|
|||
|
RtccSetTimer(RTCC_TIMER_LCD_NUM, 60); //60s
|
|||
|
s_lcd_time_state = 1;
|
|||
|
}
|
|||
|
else if (s_fst_num == A4)
|
|||
|
{
|
|||
|
RtccSetTimer(RTCC_TIMER_LCD_NUM, LCD_A4_TIME); //<2F>춨״̬<D7B4><CCAC><EFBFBD>ް<EFBFBD><DEB0><EFBFBD>(3h)<29><><EFBFBD><EFBFBD>A1B1
|
|||
|
s_lcd_time_state = 1;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
case 1:
|
|||
|
{
|
|||
|
if (!RtccCheckTimer(RTCC_TIMER_LCD_NUM))//<2F><>ʱʱ<CAB1>䵽,<2C>ָ<EFBFBD>Ĭ<EFBFBD>Ͻ<EFBFBD><CFBD><EFBFBD>
|
|||
|
{
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = A1B1;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
s_lcd_time_state = 0;
|
|||
|
}
|
|||
|
break;
|
|||
|
}
|
|||
|
default:
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
break;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
/*******************************************************************************
|
|||
|
* @fun_name: LcdDisplayKey()
|
|||
|
* @brief : LCD<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<EFBFBD><EFBFBD>
|
|||
|
* @param[in] : None
|
|||
|
* @param[out]: None
|
|||
|
* @retval : None
|
|||
|
* @other :
|
|||
|
******************************************************************************/
|
|||
|
void LcdDisplayKey()
|
|||
|
{
|
|||
|
if(s_lcd_key_state == 0)//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
|
|||
|
{
|
|||
|
s_lcd_key_state = 1;
|
|||
|
if(Gp30GetTestRamFlag() == GP30_COPY_RESET_TEST_FLAG)//<2F>ж<EFBFBD><D0B6>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD><EFBFBD>λǰ<CEBB>ڼ춨״̬
|
|||
|
{
|
|||
|
s_fst_num = A4;
|
|||
|
s_sec_num = A4B1;
|
|||
|
LcdDisplayA4(s_sec_num);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = A1B1;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
else if(KeyCheckLcdMsgApp(MENU_ONE))//һ<><D2BB><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD>л<EFBFBD>
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
//<2F><>һ<EFBFBD><D2BB><EFBFBD>˵<EFBFBD>
|
|||
|
KeyClearLcdMsgApp(MENU_ONE);
|
|||
|
if ((s_fst_num == A4)&&(s_sec_num == A4B3))//<2F>춨״̬<D7B4><CCAC>˲ʱ<CBB2><CAB1><EFBFBD><EFBFBD><EFBFBD>˼춨
|
|||
|
{
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = AB0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayMenu(s_fst_num);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
if(s_fst_num != A4)//<2F>Ǽ춨<C7BC><ECB6A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD>
|
|||
|
{
|
|||
|
s_fst_num %= AU;
|
|||
|
s_fst_num++;
|
|||
|
s_sec_num = AB0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
LcdDisplayMenu(s_fst_num);
|
|||
|
}
|
|||
|
}
|
|||
|
}
|
|||
|
else if(KeyCheckLcdMsgApp(MENU_TWO))//<2F><><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><CBB5>л<EFBFBD>
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
//<2F>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>˵<EFBFBD>
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
KeyClearLcdMsgApp(MENU_TWO);
|
|||
|
if (s_fst_num == A1)
|
|||
|
{
|
|||
|
s_sec_num %= B1U;
|
|||
|
s_sec_num++;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
if (s_fst_num == A2)
|
|||
|
{
|
|||
|
s_sec_num %= B2U;
|
|||
|
s_sec_num++;
|
|||
|
LcdDisplayA2(s_sec_num);
|
|||
|
}
|
|||
|
if (s_fst_num == A3)
|
|||
|
{
|
|||
|
s_sec_num %= B3U;
|
|||
|
s_sec_num++;
|
|||
|
LcdDisplayA3(s_sec_num);
|
|||
|
}
|
|||
|
if (s_fst_num == A4)
|
|||
|
{
|
|||
|
s_sec_num %= B4U;
|
|||
|
s_sec_num++;
|
|||
|
LcdDisplayA4(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
else if(KeyCheckLcdMsgApp(MENU_DEFAULT))//<2F>쳣<EFBFBD><ECB3A3><EFBFBD><EFBFBD><EFBFBD>л<EFBFBD><D0BB><EFBFBD>Ĭ<EFBFBD>ϲ˵<CFB2>
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
KeyClearLcdMsgApp(MENU_DEFAULT);
|
|||
|
if (s_fst_num != A4 )
|
|||
|
{
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
//<2F><>Ĭ<EFBFBD>ϲ˵<CFB2>
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = A1B1;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
else if(KeyCheckLcdMsgApp(MENU_TEST))//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>춨
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
//<2F>м춨<D0BC>˵<EFBFBD>
|
|||
|
KeyClearLcdMsgApp(MENU_TEST);
|
|||
|
s_fst_num = A4;
|
|||
|
s_sec_num = AB0;
|
|||
|
LcdDisplayMenu(s_fst_num);
|
|||
|
LcdDisplayFun(LcdGetDisplayFun() | FUN_TEST );
|
|||
|
}
|
|||
|
else if (FrameCheckMsgApp(LcdDisplayAllMsg))//ȫ<><C8AB>
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
FrameClearMsgApp(LcdDisplayAllMsg);
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = A1B5;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
else if (FrameCheckMsgApp(SetVerificationMsg))//<2F><><EFBFBD>춨
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
FrameClearMsgApp(SetVerificationMsg);
|
|||
|
s_fst_num = A4;
|
|||
|
s_sec_num = A4B1;
|
|||
|
LcdDisplayA4(s_sec_num);
|
|||
|
}
|
|||
|
else if (FrameCheckMsgApp(OutVerificationMsg))//<2F>˼춨
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
FrameClearMsgApp(OutVerificationMsg);
|
|||
|
s_fst_num = A1;
|
|||
|
s_sec_num = A1B1;
|
|||
|
LcdDisplayA1(s_sec_num);
|
|||
|
}
|
|||
|
}
|
|||
|
/*************************************************************************************
|
|||
|
* @fun_name void LcdMachineApp(void)
|
|||
|
* @brief LCDӦ<EFBFBD>ò<EFBFBD>״̬<EFBFBD><EFBFBD>
|
|||
|
* @param[in] None
|
|||
|
* @param[out] None
|
|||
|
* @retval None
|
|||
|
* @other None
|
|||
|
*************************************************************************************/
|
|||
|
void LcdMachineApp(void)
|
|||
|
{
|
|||
|
if(!RtccCheckTimer(RTCC_TIMER_LCD_METSTATUES))
|
|||
|
{
|
|||
|
RtccSetTimer(RTCC_TIMER_LCD_METSTATUES,LCD_UPDATE_TIME); //<2F><>ʱ1<CAB1><31>
|
|||
|
LcdDispalyMetStatus();
|
|||
|
LcdDisplayTimeUpChange();
|
|||
|
LcdUpdateData();
|
|||
|
#if MODULE_BLE_USED
|
|||
|
if((BleConnectIfIdle() == TASK_IDLE)&&(BleIfSleep()==TASK_IDLE))
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(1);//<2F><>ʾ<EFBFBD><CABE><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
|
|||
|
}
|
|||
|
#else
|
|||
|
if(FixedTimeNbIoTUploadIfIdle() == TASK_IDLE)
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(0);//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
LcdDisplayActiveGPRS(1);//<2F><>ʾ<EFBFBD><CABE><EFBFBD>߷<EFBFBD><DFB7><EFBFBD>
|
|||
|
}
|
|||
|
#endif
|
|||
|
}
|
|||
|
LcdDisplayKey();
|
|||
|
}
|
|||
|
/*void setLcdA2B14(void)
|
|||
|
{
|
|||
|
s_lcd_time_state = 0;
|
|||
|
LcdClearAll(); //<2F><><EFBFBD><EFBFBD>
|
|||
|
s_fst_num = A2;
|
|||
|
s_sec_num = A2B14;
|
|||
|
LcdDisplayA2(s_sec_num);
|
|||
|
}*/
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|