From cf05010be563ea57fb865af9595855657e621d2b Mon Sep 17 00:00:00 2001 From: zsx <1543588107@qq.com> Date: Thu, 13 Mar 2025 20:11:21 +0800 Subject: [PATCH] =?UTF-8?q?[=E8=A1=A5=E5=85=85=E6=8F=90=E4=BA=A4]=E6=B7=BB?= =?UTF-8?q?=E5=8A=A0=E5=9B=B4=E6=A0=8F=E5=8F=82=E6=95=B0=E5=8F=AF=E8=A6=86?= =?UTF-8?q?=E7=9B=96=E5=8A=9F=E8=83=BD=EF=BC=8C=E6=B7=BB=E5=8A=A0=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E6=81=A2=E5=A4=8D=E5=87=BA=E5=8E=82=E5=92=8C=E8=BF=9C?= =?UTF-8?q?=E7=A8=8B=E5=A4=8D=E4=BD=8D=E5=8A=9F=E8=83=BD=20zsxfly20250313?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- custom/jt808/inc/jt808_electronic_fence.h | 3 +++ custom/jt808/inc/jt808_set_TermParam.h | 3 +++ custom/jt808/src/jt808_electronic_fence.c | 7 +++++++ custom/jt808/src/jt808_set_TermParam.c | 22 +++++++++++++++++++++- 4 files changed, 34 insertions(+), 1 deletion(-) diff --git a/custom/jt808/inc/jt808_electronic_fence.h b/custom/jt808/inc/jt808_electronic_fence.h index 3fef241..e94945a 100644 --- a/custom/jt808/inc/jt808_electronic_fence.h +++ b/custom/jt808/inc/jt808_electronic_fence.h @@ -25,6 +25,9 @@ int jt808_remove_fence_Polygon_area(uint32_t area_id); // 判断区域ID列表文件是否存在 // 0 找到 int jt808_get_areafile_state(void); +// 删除终端参数文件 +void jt808_delete_Fence_area(void); + // 保存围栏区域 int jt808_save_Fence_area(void); diff --git a/custom/jt808/inc/jt808_set_TermParam.h b/custom/jt808/inc/jt808_set_TermParam.h index c62b6a5..9eb76e8 100644 --- a/custom/jt808/inc/jt808_set_TermParam.h +++ b/custom/jt808/inc/jt808_set_TermParam.h @@ -110,6 +110,9 @@ int8_t jt808_data_down_SeriaNet(uint8_t type, uint8_t *data, uint16_t len); // 串口数据上传 int8_t jt808_data_up_SeriaNet(uint8_t type, uint8_t *data, uint16_t len); +// 删除终端参数文件 +void jt808_delete_TermParam(void); + // 设置终端参数 int jt808_setTermParam(set_TermParamID_t param_id, void *param, uint8_t param_len); diff --git a/custom/jt808/src/jt808_electronic_fence.c b/custom/jt808/src/jt808_electronic_fence.c index 42023b3..7929b14 100644 --- a/custom/jt808/src/jt808_electronic_fence.c +++ b/custom/jt808/src/jt808_electronic_fence.c @@ -205,6 +205,13 @@ int jt808_get_areafile_state(void){ return -1; } +// 删除终端参数文件 +void jt808_delete_Fence_area(void){ + if(1 == cm_fs_exist(AREA_ID_LIST_FILE)){ + cm_fs_delete(AREA_ID_LIST_FILE); + } +} + // 保存围栏区域 int jt808_save_Fence_area(void){ uint32_t Area_Buff_Size = 0; // 区域缓存大小 diff --git a/custom/jt808/src/jt808_set_TermParam.c b/custom/jt808/src/jt808_set_TermParam.c index 8433ed3..bf95cb1 100644 --- a/custom/jt808/src/jt808_set_TermParam.c +++ b/custom/jt808/src/jt808_set_TermParam.c @@ -6,6 +6,8 @@ #include "cm_sys.h" #include "cm_fs.h" #include "cm_sim.h" +#include "cm_pm.h" + #include "local_tts.h" #include "control_out.h" @@ -16,7 +18,18 @@ Term_Param_item_t jt808_term_param_item; // 终端参数项 void jt808_Set_CarStatus(uint8_t status){ // (void)status; // TODO: 车辆控制状态 - if(status == 0x00){ // 车辆状态清除 + if(status & 0x80){ // 恢复厂设置 + jt808_delete_TermParam(); // 删除终端参数文件 + jt808_delete_Fence_area(); // 删除围栏区域文件 + local_tts_text_play("即将重启系统",0,0); // 语音播报 + osDelay(7000/5); + cm_pm_reboot(); // 重启系统 + } + if(status & 0x70){ // 重启系统 + local_tts_text_play("即将重启系统",0,0); // 语音播报 + osDelay(7000/5); + cm_pm_reboot(); // 重启系统 + } sys_sta.O_door_lock = (status & 0x01)? 1 : 0; // 设置电门锁状态 sys_sta.PLT_MODE = (status & 0x02)? 1 : 0; // 平台设置的模式 //1:游客模式,0:管理模式 sys_sta.P_Radar_EN = (status & 0x04)? 1 : 0; // 1:雷达使能,0:雷达禁止 @@ -80,6 +93,13 @@ int8_t jt808_data_up_SeriaNet(uint8_t type, uint8_t *data, uint16_t len){ #define TTERMPARAM_FILE "TermParam.txt" // 区域ID列表文件 +// 删除终端参数文件 +void jt808_delete_TermParam(void){ + if(1 == cm_fs_exist(TTERMPARAM_FILE)){ + cm_fs_delete(TTERMPARAM_FILE); + } +} + // 获取终端参数文件状态 0:文件存在 -1:文件不存在 int jt808_get_TermParam_state(void){ if(1 == cm_fs_exist(TTERMPARAM_FILE)){