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

@@ -2,57 +2,7 @@
#define _APP_ALARM_H_
#include "main.h"
#define ENABLE (1)
#define DISABLE (0)
#define APP_LEAKAGE_SUB_DEVICE_STATE_LEAKAGE (0x0001) /*©Һ״̬*/
#define APP_LEAKAGE_SUB_DEVICE_STATE_OPEN (0x0002) /*<2A>ϴ<EFBFBD>״̬*/
#define APP_LEAKAGE_SUB_DEVICE_STATE_TIME_OUT (0xf000) /*ͨѶ<CDA8><D1B6>ʱ*/
#define APP_LEAKAGE_STRING_NANE_LEN (10)
#define APP_LEAKAGE_SUB_DEVICE_NUM (32)
#define APP_LEAKAGE_SUB_DEVICE_CH_NUM (4)
void app_leakage_task(void);
void app_leakage_region_classify(void);
void history_add_alarm_record(u8 region_idx, u8 device_idx, u8 channel, u16 alarm_type, u16 leak_distance);
/*<2A><><EFBFBD><EFBFBD><EFBFBD>IJ<EFBFBD><C4B2><EFBFBD>*/
typedef struct
{
u8 state; /*״̬ ʹ<><CAB9> <20><>ʹ<EFBFBD><CAB9>*/
u8 com_port; /*<2A>˿<EFBFBD>*/
u8 modbus_id; /*modbus id*/
u8 device_name[APP_LEAKAGE_STRING_NANE_LEN]; /*<2A><EFBFBD><E8B1B8>*/
u8 region_name[APP_LEAKAGE_STRING_NANE_LEN]; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
}app_leakage_sub_device_flash_data_t;
/*<2A><><EFBFBD><EFBFBD><E8B1B8>Ϣ*/
typedef struct
{
app_leakage_sub_device_flash_data_t flash_data; /*flash<73><EFBFBD><E6B4A2><EFBFBD><EFBFBD>*/
struct
{
u16 state; /*״̬*/
u16 distance; /*©Һ<C2A9><D2BA><EFBFBD><EFBFBD>*/
}ch_data[APP_LEAKAGE_SUB_DEVICE_CH_NUM]; /*ͨ<><CDA8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
u8 heartbeat; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0-59ѭ<39><D1AD>*/
u8 test_mode; /*<2A><><EFBFBD><EFBFBD>ģʽ<C4A3><CABD>0=<3D><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>1-4=<3D><><EFBFBD>Զ<EFBFBD>Ӧͨ<D3A6><CDA8>*/
}app_leakage_sub_device_class_t;
/*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ*/
typedef struct
{
u8 leakage_num; /*©Һ<C2A9><D2BA><EFBFBD><EFBFBD>*/
u8 open_num; /*<2A>ϴ<EFBFBD><CFB4><EFBFBD><EFBFBD><EFBFBD>*/
u8 time_out_num; /*ͨѶ<CDA8><D1B6>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD>*/
u8 sub_device_num; /*<2A><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
u8 name[APP_LEAKAGE_STRING_NANE_LEN]; /*<2A><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
u8 sub_device_index[APP_LEAKAGE_SUB_DEVICE_NUM]; /*<2A><EFBFBD><E8B1B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
}app_leakage_region_data_class_t;
#include "app_leakage.h"
/* <20><>ʷ<EFBFBD><CAB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD>ṹ */
typedef struct
@@ -75,18 +25,6 @@ typedef struct
u32 max_records; /* <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><C2BC> */
} app_leakage_history_metadata_t;
typedef struct
{
u8 region_num;
u8 sub_device_num;
app_leakage_region_data_class_t region_data[APP_LEAKAGE_SUB_DEVICE_NUM];
app_leakage_sub_device_class_t sub_device_data[APP_LEAKAGE_SUB_DEVICE_NUM];
app_leakage_history_metadata_t history_metadata;
void (*init)(void); /*<2A><>ʼ<EFBFBD><CABC>*/
void (*task)(void); /*ִ<><D6B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>*/
}app_leakage_t;
typedef struct
{