From: hcj <1224667075@qq.com> Date: Mon, 13 Oct 2025 07:20:02 +0000 (+0800) Subject: 修改bleinstruct函数注册,增加sos相关函数 X-Git-Tag: V1.0.9_20251128_194606_LN~250^2~12 X-Git-Url: http://git.snicker.com.cn/css/static/gitweb.css?a=commitdiff_plain;h=ad6a0bb214a82e55a08592bf60104d051ac1b742;p=mirrors%2FFD230.git 修改bleinstruct函数注册,增加sos相关函数 --- diff --git a/code/sdk/application/wearable/fd230/nativeapp/nativeui/phone/src/phoneaddressmodel.cpp b/code/sdk/application/wearable/fd230/nativeapp/nativeui/phone/src/phoneaddressmodel.cpp index a1ac7b263..d169c1c85 100644 --- a/code/sdk/application/wearable/fd230/nativeapp/nativeui/phone/src/phoneaddressmodel.cpp +++ b/code/sdk/application/wearable/fd230/nativeapp/nativeui/phone/src/phoneaddressmodel.cpp @@ -539,6 +539,67 @@ void addressbookTowrite_(void)//转化用于·c文件 return; } +uint8_t * ble_get_sos_all_data_malloc_(uint32_t *len) +{ + uint8_t count= OHOS ::get_sos_number_count(); + if(count==0) + return NULL; + + uint8_t *data=(uint8_t *)malloc(1+count*(sizeof(OHOS::sos_number_t)+3)); + if(data==NULL) + { + return NULL; + } + data[0]=count; + uint32_t offset=1; + + for(int i=0;iset_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_SWITCH,data->sedent_on); + + p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_REMINDERTIME,data->sedent_time ); + + p_ConfigModel->set_condigData_Int(OHOS::ConfigModel::CONFIGMODEL_ITEM_SEDENTARY_INTERVAL,data->frequenc); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"开关:%d\r\n",data->sedent_on); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"久坐提醒时间段:%d\r\n",data->sedent_time); + WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"久坐提醒时间间隔(单位小时):%d\r\n",data->frequenc); + + // set_sedentary_data(); + return; +} // bool IS_free_save_Mp3_(uint32_t size) @@ -617,11 +633,8 @@ void ble_config_init(void) bleInstruct_t.get_brigthness= get_brigthness_; bleInstruct_t.set_ScreenDuration= set_ScreenDuration_; bleInstruct_t. get_ScreenDuration=get_ScreenDuration_; + bleInstruct_t.set_sedent_param=set_sedent_param_; - bleInstruct_t.ble_disconnect_ok=null_doing; - bleInstruct_t.ble_connect_ok=null_doing; - bleInstruct_t.hand_watch_first_time_Paired=null_doing; - } #endif \ No newline at end of file diff --git a/code/sdk/zhihui/services/ble_service/bleservice/bleEvent.c b/code/sdk/zhihui/services/ble_service/bleservice/bleEvent.c index 9a1bf83ca..7f8313f46 100644 --- a/code/sdk/zhihui/services/ble_service/bleservice/bleEvent.c +++ b/code/sdk/zhihui/services/ble_service/bleservice/bleEvent.c @@ -2360,23 +2360,12 @@ void SetsedentarinessSetParamCmd(uint16_t cmd,uint8_t *data,uint16_t len,uint8_t msg_sedent_set_param_info_t sedent_data={0}; sedent_data.sedent_on=data[0]; - // uint32_t sedent_on_time=data[1]; - // sedent_data.sedent_time |= sedent_on_time<<24; - - // sedent_on_time=data[2]; - // sedent_data.sedent_time |= sedent_on_time<<16; - - // sedent_on_time=data[3]; - // sedent_data.sedent_time |= sedent_on_time<<8; - - // sedent_on_time=data[4]; - // sedent_data.sedent_time |= sedent_on_time<<0; memcpy_s( &sedent_data.sedent_time,4,&data[1],4); sedent_data.frequenc = data[5]; - // set_sedent_param(&sedent_data); + set_sedent_param(&sedent_data); sendBuf[17] = 1; sendBuf[18] = Calculate_CRC(sendBuf,18); @@ -2746,6 +2735,7 @@ void parse_jsonCheck_weather_post(uint8_t *buf)//json 格式解析 天气数据 if(now_cjson == NULL) { WEARABLE_LOGD(WEARABLE_LOG_MODULE_APP,"天气 JSON解析错误\n"); + cJSON_Delete(root); return ; } int humidity=0; @@ -2789,6 +2779,11 @@ void parse_jsonCheck_weather_post(uint8_t *buf)//json 格式解析 天气数据 cJSON *address_cjson = cJSON_GetObjectItem(root, "address"); + if(address_cjson==NULL) + { + cJSON_Delete(root); + return; + } char*city=NULL; char*subLocality=NULL; @@ -2829,6 +2824,7 @@ void parse_jsonCheck_weather_post(uint8_t *buf)//json 格式解析 天气数据 cJSON *daily = cJSON_GetObjectItem(root, "daily"); if(daily==NULL) { + cJSON_Delete(root); return ; } int count= cJSON_GetArraySize(daily);