From 355b60c24e6f93f44333fd2a9e1ef509afff51ad Mon Sep 17 00:00:00 2001 From: hcj <1224667075@qq.com> Date: Wed, 5 Mar 2025 16:12:15 +0800 Subject: [PATCH] =?utf8?q?=E6=B6=88=E6=81=AF=E8=BF=87=E6=BB=A4=E5=8C=85?= =?utf8?q?=E5=90=8D=E6=9B=B4=E6=96=B0=E6=9C=BA=E5=88=B6=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../service/ble_service/bleservice/bleANCS.c | 74 +++++++++++++------ .../service/ble_service/bleservice/bleANCS.h | 4 +- .../service/ble_service/bleservice/bleEvent.c | 27 ++++--- .../service/ble_service/bleservice/bleEvent.h | 2 +- 4 files changed, 69 insertions(+), 38 deletions(-) diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.c index 6c5646bd6..588e331b8 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.c @@ -67,9 +67,8 @@ typedef enum { static uint8_t g_client_id=0; /* 命令处理函数接口 */ -#define filtration_data_count 20 + filtration_data filtration_data_T[filtration_data_count]={0}; -//*com.tencent.qqmail // com.apple.mobilephone // com.apple.MobileSMS // com.netease.mailmaster @@ -89,19 +88,39 @@ filtration_data filtration_data_T[filtration_data_count]={0}; // ph.telegra.Telegraph // com.others //消息过滤文件保存,在此列的消息未打开,不发消息给手表,不在此列默认开 -void filtration_on_get(char *buf,uint8_t len) + +static uint8_t filtration_count=0; + +void filtration_on_get(uint8_t *buf,uint8_t *len) { - for (size_t i = 0; i < len; i++) + uint8_t filtration_on_get_len=0; + for (size_t i = 0; i < filtration_data_count; i++) + { + if(strlen( filtration_data_T[i].name)!=0) + { + filtration_on_get_len+=1; + } + } + if(filtration_on_get_len==0) + { + filtration_on_get_len=18; + } + + for (size_t i = 0; i < filtration_on_get_len; i++) { if(strlen( filtration_data_T[i].name)!=0 && filtration_data_T[i].on==0) { buf[i]=0; + printf("name:%s on:%d\r\n",filtration_data_T[i].name,0); } else { buf[i]=1; + printf("name:%s on:%d\r\n",filtration_data_T[i].name,1); } } + *len=filtration_on_get_len; + } void filtration_file_save(void) { @@ -128,26 +147,35 @@ void filtration_file_read(void) } -void filtration_file_updata(filtration_data *data) +void filtration_file_updata(filtration_data *data,uint8_t count) { - for (size_t i = 0; i < filtration_data_count; i++) - { - if(strlen( filtration_data_T[i].name)==0) - { - filtration_data_T[i].on=data->on; - filtration_data_T[i].len=data->len; - memset(filtration_data_T[i].name,0,filtration_data_max_len); - memcpy_s(filtration_data_T[i].name,filtration_data_max_len, data->name,strlen( data->name)); - break; - // printf("name:%s on:%d\r\n",data->name,data->on); - } - else if (strcmp(data->name,filtration_data_T[i].name)==0) - { - filtration_data_T[i].on=data->on; - break; - //printf("name:%s on:%d\r\n",data->name,data->on); - } - } + // for (size_t i = 0; i < filtration_data_count; i++) + // { + // if(strlen( filtration_data_T[i].name)==0) + // { + // printf("strlen name:%s on:%d\r\n",data->name,data->on); + // filtration_data_T[i].on=data->on; + // filtration_data_T[i].len=data->len; + // memset(filtration_data_T[i].name,0,filtration_data_max_len); + // memcpy_s(filtration_data_T[i].name,filtration_data_max_len, data->name,strlen( data->name)); + // break; + // // + // } + // else if (strcmp(data->name,filtration_data_T[i].name)==0) + // { + // printf("strcmp name:%s on:%d\r\n",data->name,data->on); + // filtration_data_T[i].on=data->on; + // break; + // // + // } + // } + printf("strlen name:%s on:%d\r\n",data->name,data->on); + filtration_data_T[count].on=data->on; + filtration_data_T[count].len=data->len; + memset(filtration_data_T[count].name,0,filtration_data_max_len); + memcpy_s(filtration_data_T[count].name,filtration_data_max_len, data->name,strlen( data->name)); + filtration_count=count; + } static uint8_t get_other_filtration() diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.h b/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.h index 15f3e2ada..4faa1a1bb 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.h +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleANCS.h @@ -31,8 +31,8 @@ void gattc_reg_id(void); uint8_t ble_ancs_client_cmd_setup_and_subscribe(uint16_t conn_id); uint8_t ble_ancs_client_subscribe_notify(uint16_t conn_id,uint8_t sub_flag); uint8_t ble_ancs_client_subscribe_data(uint16_t conn_id,uint8_t sub_flag); -void filtration_file_updata(filtration_data *data); -void filtration_on_get(char *buf,uint8_t len); +void filtration_file_updata(filtration_data *data,uint8_t count); +void filtration_on_get(uint8_t *buf,uint8_t *len); void filtration_file_save(void); void filtration_file_read(void); uint8_t ble_ancs_client_clear(uint16_t conn_id); diff --git a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c index 55d915f16..7dd3c492a 100644 --- a/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c +++ b/code/sdk/application/wearable/service/ble_service/bleservice/bleEvent.c @@ -190,7 +190,7 @@ static const char* getHandlname(uint16_t handle) if (data2ae4Cmd == handle) return "data2ae4Cmd"; if (data2ae5Cmd == handle) return "data2ae5Cmd"; if (data2ae6Cmd == handle) return "data2ae6Cmd"; - //if (data2ae2Cmd == handle) return "data2ae2Cmd"; + //if (data2ae2Cmd == handle) return "data2ae2Cmd"; return "unknown handle"; @@ -2263,8 +2263,10 @@ void SetmsgfiltrationCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t *totalD if(Check_CRC(data,len,crcvalue)) { - WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"总长%d\r\n",len); + WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"总长%d\r\n",len); + // WEARABLE_LOGE(WEARABLE_LOG_MODULE_APP,"数据%s\r\n",data); uint32_t offset=0; + uint8_t count=0; while (offset