This commit is contained in:
2026-02-25 15:12:13 +08:00
parent 9d69b29eed
commit 090eb335a8
25 changed files with 620 additions and 19973 deletions

View File

@@ -12,8 +12,10 @@
#include "bsp_W5500.h"
#include "bsp_uart.h"
#include "bsp_DS1302.h"
#include "bsp_buzzer.h"
#include "app_leakage.h"
#include "app_com.h"
/*<2A><><EFBFBD>ڷ<EFBFBD><DAB7>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>*/
#define HMI_TX_BUFFER_NUM (2048)
@@ -47,7 +49,6 @@
static void gui_tjc_hmi_init(void);
static void gui_tjc_hmi_communication_data_analysis(u8 *p_data, u16 len, void *rx_uart);
static void gui_tjc_hmi_read_device_info_from_w25q(void);
/*<2A><><EFBFBD>ڷ<EFBFBD><DAB7>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>*/
static u8 hmi_tx_buffer[HMI_TX_BUFFER_NUM];
@@ -84,13 +85,18 @@ gui_tjc_hmi_t tjc_hmi =
gui_tjc_hmi_t *p_tjc_hmi = &tjc_hmi;
static void gui_tjc_hmi_class_update(void)
{
leakage.class_update();
app_com.class_update();
}
/*<2A><>ĻЭ<C4BB><D0AD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC>*/
static void gui_tjc_hmi_init(void)
{
com_uart1.rx_data_analysis = gui_tjc_hmi_communication_data_analysis;
gui_tjc_hmi_read_device_info_from_w25q();
history.init_history();
}
@@ -125,54 +131,6 @@ static void gui_tjc_hmi_save_password_to_w25q(void)
w25q32.write(W25Q32_PASSWORD_ADDR, p_tjc_hmi->password, 4);
}
/* <20><>W25Q32<33><32>ȡ<EFBFBD><EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>app_leakage */
static void gui_tjc_hmi_read_device_info_from_w25q(void)
{
/* <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
app_leakage_sub_device_flash_data_t temp_buffer[APP_LEAKAGE_SUB_DEVICE_NUM];
/* һ<><D2BB><EFBFBD>Զ<EFBFBD>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><E8B1B8>Ϣ */
w25q32.read(W25Q32_DEVICE_INFO_ADDR,
(uint8_t*)temp_buffer,
DEVICE_INFO_STORAGE_SIZE);
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ч<EFBFBD><D0A7> */
uint8_t data_valid = 1;
for(int i = 0; i < APP_LEAKAGE_SUB_DEVICE_NUM; i++)
{
/* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֶζ<D6B6><CEB6><EFBFBD>0xFF<46><46>˵<EFBFBD><CBB5><EFBFBD>ǿ<EFBFBD><C7BF><EFBFBD><EFBFBD><EFBFBD> */
if(temp_buffer[i].state == 0xFF &&
temp_buffer[i].com == 0xFF &&
temp_buffer[i].modbus_id == 0xFF)
{
data_valid = 0;
break;
}
}
if(data_valid)
{
/* <20><><EFBFBD>Ƶ<EFBFBD>app_leakage<67><EFBFBD><E1B9B9><EFBFBD><EFBFBD> */
for(int i = 0; i < APP_LEAKAGE_SUB_DEVICE_NUM; i++)
{
leakage.sub_device_data[i].flash_data = temp_buffer[i];
}
}
else
{
/* FlashΪ<68>գ<EFBFBD><D5A3><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD><EFBFBD><E8B1B8>ϢΪĬ<CEAA><C4AC>ֵ */
for(int i = 0; i < APP_LEAKAGE_SUB_DEVICE_NUM; i++)
{
memset(&leakage.sub_device_data[i].flash_data, 0,
sizeof(app_leakage_sub_device_flash_data_t));
leakage.sub_device_data[i].flash_data.state = DISABLE;
}
}
/* <20><><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> */
app_leakage_region_classify();
}
/* <20><><EFBFBD><EFBFBD><E8B1B8>Ϣ<EFBFBD><CFA2>app_leakage<67><65><EFBFBD>浽W25Q32 */
static void gui_tjc_hmi_save_device_info_to_w25q(void)
{
@@ -258,12 +216,13 @@ static void gui_tjc_hmi_main_send(u8 cmd,u8 opa,u8 *p_data)
}
char time[20];
sprintf(time,"20%d-%02d-%02d %02d:%02d",
sprintf(time,"20%d-%02d-%02d %02d:%02d:%02d",
DS1302.Time.Year,
DS1302.Time.Month,
DS1302.Time.Day,
DS1302.Time.Hour,
DS1302.Time.Minute);
DS1302.Time.Minute,
DS1302.Time.Second);
len += gui_tjc_hmi_tx_text_display(0,0,(char *)&hmi_tx_buffer[len],"%s",time);
if(HMI_PROTO_CMD_GET == cmd)/*<2A><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>*/
@@ -359,10 +318,12 @@ static void gui_tjc_hmi_main_send(u8 cmd,u8 opa,u8 *p_data)
if(0x01 == p_data[0])
{
/*01<30>򿪷<EFBFBD><F2BFAAB7><EFBFBD><EFBFBD><EFBFBD>*/
buzzer.set.enable();
}
else
{
/*00<30>رշ<D8B1><D5B7><EFBFBD><EFBFBD><EFBFBD>*/
buzzer.set.disable();
}
}
default:return;
@@ -1549,7 +1510,7 @@ static void gui_tjc_hmi_device_config_send(u8 cmd,u8 opa,u8 *p_data)
new_device.state = ENABLE;
leakage.sub_device_data[x].flash_data = new_device;
gui_tjc_hmi_save_device_info_to_w25q();
app_leakage_region_classify();
gui_tjc_hmi_class_update();
field_count++;
}
}
@@ -1568,7 +1529,7 @@ static void gui_tjc_hmi_device_config_send(u8 cmd,u8 opa,u8 *p_data)
gui_tjc_hmi_save_device_info_to_w25q();
/*<2A><><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
app_leakage_region_classify();
gui_tjc_hmi_class_update();
}
else
@@ -1654,7 +1615,7 @@ static void gui_tjc_hmi_device_config_send(u8 cmd,u8 opa,u8 *p_data)
gui_tjc_hmi_save_device_info_to_w25q();
/*<2A><><EFBFBD>·<EFBFBD><C2B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
app_leakage_region_classify();
gui_tjc_hmi_class_update();
/*<2A><><EFBFBD><EFBFBD>ȷ<EFBFBD><C8B7><EFBFBD><EFBFBD>Ӧ*/
}