Browse Source

Merge branch 'master' of https://gitee.com/openLuat/luatos-soc-air101

Dozingfiretruck 4 years ago
parent
commit
852be2b414

+ 5 - 1
app/port/luat_lib_nimble.c

@@ -10,7 +10,11 @@
 
 
 static int l_nimble_init(lua_State* L) {
 static int l_nimble_init(lua_State* L) {
     int rc = 0;
     int rc = 0;
-    rc = luat_nimble_init(0xFF);
+    char* name = NULL;
+    if(lua_isstring(L, 1)) {
+        name = lua_tostring(L, 1);
+    }
+    rc = luat_nimble_init(0xFF,name);
     if (rc) {
     if (rc) {
         lua_pushboolean(L, 0);
         lua_pushboolean(L, 0);
         lua_pushinteger(L, rc);
         lua_pushinteger(L, rc);

+ 14 - 14
app/port/luat_nimble.c

@@ -82,7 +82,7 @@ static void app_adapter_state_changed_callback(tls_bt_state_t status)
     msg.arg1 = status;
     msg.arg1 = status;
     luat_msgbus_put(&msg, 0);
     luat_msgbus_put(&msg, 0);
 
 
-    
+
 	// #if (TLS_CONFIG_BLE == CFG_ON)
 	// #if (TLS_CONFIG_BLE == CFG_ON)
 
 
     // if(status == WM_BT_STATE_ON)
     // if(status == WM_BT_STATE_ON)
@@ -90,14 +90,14 @@ static void app_adapter_state_changed_callback(tls_bt_state_t status)
     // 	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
     // 	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
 
 
 	// 	//at here , user run their own applications;
 	// 	//at here , user run their own applications;
-    //     #if 1		
+    //     #if 1
     //     //tls_ble_wifi_cfg_init();
     //     //tls_ble_wifi_cfg_init();
     //     tls_ble_server_demo_api_init(xxx_ble_income);
     //     tls_ble_server_demo_api_init(xxx_ble_income);
     //     //tls_ble_client_demo_api_init(NULL);
     //     //tls_ble_client_demo_api_init(NULL);
     //     //tls_ble_server_demo_hid_init();
     //     //tls_ble_server_demo_hid_init();
     //     //tls_ble_server_hid_uart_init();
     //     //tls_ble_server_hid_uart_init();
     //     //tls_ble_client_multi_conn_demo_api_init();
     //     //tls_ble_client_multi_conn_demo_api_init();
-    //     #endif        
+    //     #endif
 
 
     // }else
     // }else
     // {
     // {
@@ -166,7 +166,7 @@ on_svr_register_cb(struct ble_gatt_register_ctxt *ctxt, void *arg)
 
 
 
 
 int
 int
-luat_nimble_init(uint8_t uart_idx)
+luat_nimble_init(uint8_t uart_idx, char* name)
 {
 {
     if(ble_system_state_on)
     if(ble_system_state_on)
     {
     {
@@ -189,23 +189,23 @@ luat_nimble_init(uint8_t uart_idx)
     ble_hs_cfg.reset_cb = on_reset;
     ble_hs_cfg.reset_cb = on_reset;
     ble_hs_cfg.shutdown_cb = on_reset; /*same callback as on_reset */
     ble_hs_cfg.shutdown_cb = on_reset; /*same callback as on_reset */
     ble_hs_cfg.gatts_register_cb = on_svr_register_cb;
     ble_hs_cfg.gatts_register_cb = on_svr_register_cb;
-    ble_hs_cfg.store_status_cb = ble_store_util_status_rr;   
-    
+    ble_hs_cfg.store_status_cb = ble_store_util_status_rr;
+
     /* Initialize all packages. */
     /* Initialize all packages. */
     nimble_port_init();
     nimble_port_init();
 
 
 
 
 
 
     /*Application levels code entry*/
     /*Application levels code entry*/
-    tls_ble_gap_init();
+    tls_ble_gap_init(name);
     tls_bt_util_init();
     tls_bt_util_init();
 
 
     /*Initialize the vuart interface and enable controller*/
     /*Initialize the vuart interface and enable controller*/
     ble_hci_vuart_init(uart_idx);
     ble_hci_vuart_init(uart_idx);
-    
+
     /* As the last thing, process events from default event queue. */
     /* As the last thing, process events from default event queue. */
     tls_nimble_start();
     tls_nimble_start();
-    
+
     ble_system_state_on = true;
     ble_system_state_on = true;
 
 
     return 0;
     return 0;
@@ -224,21 +224,21 @@ luat_nimble_deinit(void)
     /*Stop hs system*/
     /*Stop hs system*/
     rc = nimble_port_stop();
     rc = nimble_port_stop();
     assert(rc == 0);
     assert(rc == 0);
-    
+
     /*Stop controller and free vuart resource */
     /*Stop controller and free vuart resource */
     rc = ble_hci_vuart_deinit();
     rc = ble_hci_vuart_deinit();
     assert(rc == 0);
     assert(rc == 0);
 
 
     /*Free hs system resource*/
     /*Free hs system resource*/
     nimble_port_deinit();
     nimble_port_deinit();
-    
+
     /*Free task stack ptr and free hs task*/
     /*Free task stack ptr and free hs task*/
     tls_nimble_stop();
     tls_nimble_stop();
 
 
     /*Application levels resource cleanup*/
     /*Application levels resource cleanup*/
     tls_ble_gap_deinit();
     tls_ble_gap_deinit();
     tls_bt_util_deinit();
     tls_bt_util_deinit();
-    
+
     ble_system_state_on = false;
     ble_system_state_on = false;
 
 
     return rc;
     return rc;
@@ -248,6 +248,6 @@ luat_nimble_deinit(void)
 //----------------------------------------
 //----------------------------------------
 // 设置广播数据
 // 设置广播数据
 int luat_nimble_gap_adv_set_fields() {
 int luat_nimble_gap_adv_set_fields() {
-    
+
 }
 }
-//----------------------------------------
+//----------------------------------------

+ 1 - 1
app/port/luat_nimble.h

@@ -3,7 +3,7 @@
 
 
 int luat_nimble_trace_level(int level);
 int luat_nimble_trace_level(int level);
 
 
-int luat_nimble_init(uint8_t uart_idx);
+int luat_nimble_init(uint8_t uart_idx, char* name);
 int luat_nimble_deinit();
 int luat_nimble_deinit();
 
 
 void test_server_api_init();
 void test_server_api_init();

BIN
lib/libapp.a


BIN
lib/libblehost.a


BIN
lib/libdrivers.a


BIN
lib/libos.a


BIN
lib/libwmcommon.a


BIN
lib/libwmsys.a


+ 37 - 34
src/app/bleapp/wm_ble_gap.c

@@ -72,20 +72,20 @@ gap_event(struct ble_gap_event *event, void *arg)
     TLS_BT_APPL_TRACE_EVENT("gap_event, [%s]\n",tls_bt_gap_evt_2_str(event->type));
     TLS_BT_APPL_TRACE_EVENT("gap_event, [%s]\n",tls_bt_gap_evt_2_str(event->type));
 
 
     /*Notify those who cares the event type*/
     /*Notify those who cares the event type*/
-    ble_npl_mutex_pend(&report_evt_list.list_mutex, 0); 
-    
+    ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
+
     if(!dl_list_empty(&report_evt_list.list))
     if(!dl_list_empty(&report_evt_list.list))
     {
     {
         dl_list_for_each_safe(report_evt,report_evt_next, &report_evt_list.list, report_evt_t, list)
         dl_list_for_each_safe(report_evt,report_evt_next, &report_evt_list.list, report_evt_t, list)
         {
         {
             ble_npl_mutex_release(&report_evt_list.list_mutex);
             ble_npl_mutex_release(&report_evt_list.list_mutex);
-            
+
             if((report_evt)&&(report_evt->evt&evt)&&(report_evt->reg_func_ptr))
             if((report_evt)&&(report_evt->evt&evt)&&(report_evt->reg_func_ptr))
             {
             {
                 rc = report_evt->reg_func_ptr(event, arg);
                 rc = report_evt->reg_func_ptr(event, arg);
             }
             }
-            
-            ble_npl_mutex_pend(&report_evt_list.list_mutex, 0); 
+
+            ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
         }
         }
     }
     }
     ble_npl_mutex_release(&report_evt_list.list_mutex);
     ble_npl_mutex_release(&report_evt_list.list_mutex);
@@ -158,11 +158,11 @@ scan_enable(uint8_t type, bool filter_duplicate)
 static void tls_ble_gap_free_left_report_list()
 static void tls_ble_gap_free_left_report_list()
 {
 {
 	report_evt_t *evt = NULL;
 	report_evt_t *evt = NULL;
-	report_evt_t *evt_next = NULL;	
+	report_evt_t *evt_next = NULL;
 
 
 	if(dl_list_empty(&report_evt_list.list))
 	if(dl_list_empty(&report_evt_list.list))
 		return ;
 		return ;
-	
+
 	ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
 	ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
 
 
 	dl_list_for_each_safe(evt, evt_next,&report_evt_list.list, report_evt_t, list)
 	dl_list_for_each_safe(evt, evt_next,&report_evt_list.list, report_evt_t, list)
@@ -171,7 +171,7 @@ static void tls_ble_gap_free_left_report_list()
 		tls_mem_free(evt);
 		tls_mem_free(evt);
 	}
 	}
 
 
-	ble_npl_mutex_release(&report_evt_list.list_mutex);    
+	ble_npl_mutex_release(&report_evt_list.list_mutex);
 }
 }
 
 
 /*
 /*
@@ -182,18 +182,18 @@ static void tls_ble_gap_free_left_report_list()
 int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration)
 int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration)
 {
 {
     int rc ;
     int rc ;
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
     }
     }
-    
+
     if(type)
     if(type)
     {
     {
         uint8_t own_addr_type;
         uint8_t own_addr_type;
         struct ble_gap_adv_params adv_params;
         struct ble_gap_adv_params adv_params;
-        
+
         /* Figure out address to use while advertising (no privacy for now) */
         /* Figure out address to use while advertising (no privacy for now) */
         rc = ble_hs_id_infer_auto(0, &own_addr_type);
         rc = ble_hs_id_infer_auto(0, &own_addr_type);
         if (rc != 0) {
         if (rc != 0) {
@@ -217,7 +217,7 @@ int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration)
         {
         {
             adv_params.itvl_min = 0x40;
             adv_params.itvl_min = 0x40;
         }
         }
-        
+
         if(adv_params_dft.itvl_max)
         if(adv_params_dft.itvl_max)
         {
         {
             adv_params.itvl_max = adv_params_dft.itvl_max;
             adv_params.itvl_max = adv_params_dft.itvl_max;
@@ -229,7 +229,7 @@ int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration)
 
 
         TLS_BT_APPL_TRACE_DEBUG("Starting advertising\r\n");
         TLS_BT_APPL_TRACE_DEBUG("Starting advertising\r\n");
 
 
-        
+
         /* As own address type we use hard-coded value, because we generate
         /* As own address type we use hard-coded value, because we generate
               NRPA and by definition it's random */
               NRPA and by definition it's random */
         rc = ble_gap_adv_start(own_addr_type, &direct_adv_addr, duration?duration:BLE_HS_FOREVER,
         rc = ble_gap_adv_start(own_addr_type, &direct_adv_addr, duration?duration:BLE_HS_FOREVER,
@@ -237,7 +237,7 @@ int tls_nimble_gap_adv(wm_ble_adv_type_t type, int duration)
         //assert(rc == 0);
         //assert(rc == 0);
         if(rc)
         if(rc)
         {
         {
-           TLS_BT_APPL_TRACE_WARNING("Starting advertising failed, rc=%d\r\n", rc); 
+           TLS_BT_APPL_TRACE_WARNING("Starting advertising failed, rc=%d\r\n", rc);
         }
         }
 
 
     }else
     }else
@@ -253,17 +253,17 @@ static wm_ble_scan_type_t g_scan_state = WM_BLE_SCAN_STOP;
 int tls_ble_gap_scan(wm_ble_scan_type_t type, bool filter_duplicate)
 int tls_ble_gap_scan(wm_ble_scan_type_t type, bool filter_duplicate)
 {
 {
     int rc = 1;
     int rc = 1;
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
     }
     }
-    
+
     if((type == WM_BLE_SCAN_STOP) && (g_scan_state != type))
     if((type == WM_BLE_SCAN_STOP) && (g_scan_state != type))
     {
     {
         rc = ble_gap_disc_cancel();
         rc = ble_gap_disc_cancel();
-        
+
     }else if((type == WM_BLE_SCAN_PASSIVE)&&(g_scan_state == WM_BLE_SCAN_STOP))
     }else if((type == WM_BLE_SCAN_PASSIVE)&&(g_scan_state == WM_BLE_SCAN_STOP))
     {
     {
         /*passive scan*/
         /*passive scan*/
@@ -274,7 +274,7 @@ int tls_ble_gap_scan(wm_ble_scan_type_t type, bool filter_duplicate)
         /*active scan*/
         /*active scan*/
         rc = scan_enable(0,filter_duplicate);
         rc = scan_enable(0,filter_duplicate);
     }
     }
-    
+
     if(rc == 0)
     if(rc == 0)
     {
     {
         g_scan_state = type;
         g_scan_state = type;
@@ -289,15 +289,15 @@ int tls_ble_register_gap_evt(uint32_t evt_type, app_gap_evt_cback_t *evt_cback)
 {
 {
     int rc = 0;
     int rc = 0;
 	report_evt_t *evt = NULL;
 	report_evt_t *evt = NULL;
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
     }
     }
 
 
-    
-    ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);	
+
+    ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
 
 
 	dl_list_for_each(evt, &report_evt_list.list, report_evt_t, list)
 	dl_list_for_each(evt, &report_evt_list.list, report_evt_t, list)
 	{
 	{
@@ -332,7 +332,7 @@ int tls_ble_register_gap_evt(uint32_t evt_type, app_gap_evt_cback_t *evt_cback)
     ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
     ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
     dl_list_add_tail(&report_evt_list.list, &evt->list);
     dl_list_add_tail(&report_evt_list.list, &evt->list);
     ble_npl_mutex_release(&report_evt_list.list_mutex);
     ble_npl_mutex_release(&report_evt_list.list_mutex);
-	
+
 	return rc;
 	return rc;
 
 
 }
 }
@@ -340,14 +340,14 @@ int tls_ble_register_gap_evt(uint32_t evt_type, app_gap_evt_cback_t *evt_cback)
 int tls_ble_gap_set_data(wm_ble_gap_data_t type, uint8_t *data, int data_len)
 int tls_ble_gap_set_data(wm_ble_gap_data_t type, uint8_t *data, int data_len)
 {
 {
     int rc;
     int rc;
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
     }
     }
 
 
-    
+
     if(type == WM_BLE_ADV_DATA)
     if(type == WM_BLE_ADV_DATA)
     {
     {
         rc = ble_gap_adv_set_data(data,data_len);
         rc = ble_gap_adv_set_data(data,data_len);
@@ -470,7 +470,7 @@ int tls_ble_gap_set_adv_param(uint8_t adv_type, uint32_t min, uint32_t max, uint
                 adv_params_dft.conn_mode = BLE_GAP_CONN_MODE_UND;
                 adv_params_dft.conn_mode = BLE_GAP_CONN_MODE_UND;
                 adv_params_dft.disc_mode = BLE_GAP_DISC_MODE_GEN;
                 adv_params_dft.disc_mode = BLE_GAP_DISC_MODE_GEN;
             break;
             break;
-    }    
+    }
 
 
     adv_params_dft.itvl_min = min;
     adv_params_dft.itvl_min = min;
     adv_params_dft.itvl_max = max;
     adv_params_dft.itvl_max = max;
@@ -503,14 +503,14 @@ int tls_ble_deregister_gap_evt(uint32_t evt_type, app_gap_evt_cback_t *evt_cback
 {
 {
 	report_evt_t *evt = NULL;
 	report_evt_t *evt = NULL;
 	report_evt_t *evt_next = NULL;
 	report_evt_t *evt_next = NULL;
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
     }
     }
 
 
-	ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);	
+	ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
     if(!dl_list_empty(&report_evt_list.list))
     if(!dl_list_empty(&report_evt_list.list))
     {
     {
     	dl_list_for_each_safe(evt,evt_next, &report_evt_list.list, report_evt_t, list)
     	dl_list_for_each_safe(evt,evt_next, &report_evt_list.list, report_evt_t, list)
@@ -527,11 +527,11 @@ int tls_ble_deregister_gap_evt(uint32_t evt_type, app_gap_evt_cback_t *evt_cback
                     evt = NULL;
                     evt = NULL;
     			}
     			}
     		}
     		}
-            ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);	
+            ble_npl_mutex_pend(&report_evt_list.list_mutex, 0);
     	}
     	}
     }
     }
 	ble_npl_mutex_release(&report_evt_list.list_mutex);
 	ble_npl_mutex_release(&report_evt_list.list_mutex);
-	
+
 	return 0;
 	return 0;
 }
 }
 
 
@@ -547,28 +547,31 @@ int tls_ble_gap_deinit(void)
     return 0;
     return 0;
 }
 }
 
 
-int tls_ble_gap_init(void)
+int tls_ble_gap_init(char * name)
 {
 {
     char default_device_name[MYNEWT_VAL(BLE_SVC_GAP_DEVICE_NAME_MAX_LENGTH)];
     char default_device_name[MYNEWT_VAL(BLE_SVC_GAP_DEVICE_NAME_MAX_LENGTH)];
     uint8_t bt_mac[6];
     uint8_t bt_mac[6];
     int ret_len = 0;
     int ret_len = 0;
-    
+
     g_scan_state = WM_BLE_SCAN_STOP;
     g_scan_state = WM_BLE_SCAN_STOP;
-    memset(&adv_params_dft, 0, sizeof(adv_params_dft)); 
+    memset(&adv_params_dft, 0, sizeof(adv_params_dft));
     adv_params_dft.conn_mode = BLE_GAP_CONN_MODE_UND;  //default conn  mode;
     adv_params_dft.conn_mode = BLE_GAP_CONN_MODE_UND;  //default conn  mode;
     adv_params_dft.disc_mode = BLE_GAP_DISC_MODE_GEN;  //default disc  mode;
     adv_params_dft.disc_mode = BLE_GAP_DISC_MODE_GEN;  //default disc  mode;
     memset(&disc_params_dft, 0, sizeof(disc_params_dft));
     memset(&disc_params_dft, 0, sizeof(disc_params_dft));
     memset(&direct_adv_addr, 0, sizeof(direct_adv_addr));
     memset(&direct_adv_addr, 0, sizeof(direct_adv_addr));
     dl_list_init(&report_evt_list.list);
     dl_list_init(&report_evt_list.list);
     ble_npl_mutex_init(&report_evt_list.list_mutex);
     ble_npl_mutex_init(&report_evt_list.list_mutex);
-    
+
     if(btif_config_get_str("Local", "Adapter", "Name", default_device_name, &ret_len))
     if(btif_config_get_str("Local", "Adapter", "Name", default_device_name, &ret_len))
     {
     {
         ble_svc_gap_device_name_set(default_device_name);
         ble_svc_gap_device_name_set(default_device_name);
     }else
     }else
     {
     {
         tls_get_bt_mac_addr(bt_mac);
         tls_get_bt_mac_addr(bt_mac);
-        sprintf(default_device_name, "WM-%02X:%02X:%02X", bt_mac[3], bt_mac[4], bt_mac[5]);
+        if(name != NULL)
+            sprintf(default_device_name, "%s", name);
+        else
+            sprintf(default_device_name, "LUATOS-%02X:%02X:%02X", bt_mac[3], bt_mac[4], bt_mac[5]);
         ble_svc_gap_device_name_set(default_device_name);
         ble_svc_gap_device_name_set(default_device_name);
     }
     }
     return 0;
     return 0;

+ 1 - 1
src/app/bleapp/wm_ble_gap.h

@@ -6,7 +6,7 @@
 
 
 typedef int (app_gap_evt_cback_t)(struct ble_gap_event *event, void *arg);
 typedef int (app_gap_evt_cback_t)(struct ble_gap_event *event, void *arg);
 
 
-extern int tls_ble_gap_init(void);
+extern int tls_ble_gap_init(char * name);
 extern int tls_ble_gap_deinit(void);
 extern int tls_ble_gap_deinit(void);
 extern int tls_nimble_gap_adv(wm_ble_adv_type_t type , int duration);
 extern int tls_nimble_gap_adv(wm_ble_adv_type_t type , int duration);
 extern int tls_ble_gap_set_adv_param(uint8_t adv_type, uint32_t min, uint32_t max, uint8_t chn_map, uint8_t filter_policy,uint8_t *dir_mac, uint8_t dir_mac_type);
 extern int tls_ble_gap_set_adv_param(uint8_t adv_type, uint32_t min, uint32_t max, uint8_t chn_map, uint8_t filter_policy,uint8_t *dir_mac, uint8_t dir_mac_type);

+ 47 - 47
src/app/bleapp/wm_bt_app.c

@@ -66,7 +66,7 @@ static void app_adapter_state_changed_callback(tls_bt_state_t status)
 	TLS_BT_APPL_TRACE_DEBUG("adapter status = %s\r\n", status==WM_BT_STATE_ON?"bt_state_on":"bt_state_off");
 	TLS_BT_APPL_TRACE_DEBUG("adapter status = %s\r\n", status==WM_BT_STATE_ON?"bt_state_on":"bt_state_off");
 
 
     bt_adapter_state = status;
     bt_adapter_state = status;
-    
+
 	#if (TLS_CONFIG_BLE == CFG_ON)
 	#if (TLS_CONFIG_BLE == CFG_ON)
 
 
     if(status == WM_BT_STATE_ON)
     if(status == WM_BT_STATE_ON)
@@ -74,14 +74,14 @@ static void app_adapter_state_changed_callback(tls_bt_state_t status)
     	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
     	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
 
 
 		//at here , user run their own applications;
 		//at here , user run their own applications;
-        #if 1		
+        #if 1
         //tls_ble_wifi_cfg_init();
         //tls_ble_wifi_cfg_init();
         tls_ble_server_demo_api_init(xxx_ble_income);
         tls_ble_server_demo_api_init(xxx_ble_income);
         //tls_ble_client_demo_api_init(NULL);
         //tls_ble_client_demo_api_init(NULL);
         //tls_ble_server_demo_hid_init();
         //tls_ble_server_demo_hid_init();
         //tls_ble_server_hid_uart_init();
         //tls_ble_server_hid_uart_init();
         //tls_ble_client_multi_conn_demo_api_init();
         //tls_ble_client_multi_conn_demo_api_init();
-        #endif        
+        #endif
 
 
     }else
     }else
     {
     {
@@ -173,23 +173,23 @@ tls_bt_init(uint8_t uart_idx)
     ble_hs_cfg.reset_cb = on_reset;
     ble_hs_cfg.reset_cb = on_reset;
     ble_hs_cfg.shutdown_cb = on_reset; /*same callback as on_reset */
     ble_hs_cfg.shutdown_cb = on_reset; /*same callback as on_reset */
     ble_hs_cfg.gatts_register_cb = on_svr_register_cb;
     ble_hs_cfg.gatts_register_cb = on_svr_register_cb;
-    ble_hs_cfg.store_status_cb = ble_store_util_status_rr;   
-    
+    ble_hs_cfg.store_status_cb = ble_store_util_status_rr;
+
     /* Initialize all packages. */
     /* Initialize all packages. */
     nimble_port_init();
     nimble_port_init();
 
 
 
 
 
 
     /*Application levels code entry*/
     /*Application levels code entry*/
-    tls_ble_gap_init();
+    tls_ble_gap_init(NULL);
     tls_bt_util_init();
     tls_bt_util_init();
 
 
     /*Initialize the vuart interface and enable controller*/
     /*Initialize the vuart interface and enable controller*/
     ble_hci_vuart_init(uart_idx);
     ble_hci_vuart_init(uart_idx);
-    
+
     /* As the last thing, process events from default event queue. */
     /* As the last thing, process events from default event queue. */
     tls_nimble_start();
     tls_nimble_start();
-    
+
     ble_system_state_on = true;
     ble_system_state_on = true;
 
 
     return 0;
     return 0;
@@ -208,21 +208,21 @@ tls_bt_deinit(void)
     /*Stop hs system*/
     /*Stop hs system*/
     rc = nimble_port_stop();
     rc = nimble_port_stop();
     assert(rc == 0);
     assert(rc == 0);
-    
+
     /*Stop controller and free vuart resource */
     /*Stop controller and free vuart resource */
     rc = ble_hci_vuart_deinit();
     rc = ble_hci_vuart_deinit();
     assert(rc == 0);
     assert(rc == 0);
 
 
     /*Free hs system resource*/
     /*Free hs system resource*/
     nimble_port_deinit();
     nimble_port_deinit();
-    
+
     /*Free task stack ptr and free hs task*/
     /*Free task stack ptr and free hs task*/
     tls_nimble_stop();
     tls_nimble_stop();
 
 
     /*Application levels resource cleanup*/
     /*Application levels resource cleanup*/
     tls_ble_gap_deinit();
     tls_ble_gap_deinit();
     tls_bt_util_deinit();
     tls_bt_util_deinit();
-    
+
     ble_system_state_on = false;
     ble_system_state_on = false;
 
 
     return rc;
     return rc;
@@ -251,11 +251,11 @@ int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level)
 	int rc = 0;
 	int rc = 0;
 
 
 	tls_appl_trace_level = log_level;
 	tls_appl_trace_level = log_level;
-    
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, log_level);
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, log_level);
 
 
     rc = tls_bt_init(uart_no);
     rc = tls_bt_init(uart_no);
-    
+
 	if((rc != 0) &&(rc != BLE_HS_EALREADY) )
 	if((rc != 0) &&(rc != BLE_HS_EALREADY) )
 	{
 	{
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_enable, ret:%s,%d\r\n", tls_bt_rc_2_str(rc),rc);
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_enable, ret:%s,%d\r\n", tls_bt_rc_2_str(rc),rc);
@@ -267,9 +267,9 @@ int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level)
 int tls_at_bt_destroy()
 int tls_at_bt_destroy()
 {
 {
 	int rc = 0;
 	int rc = 0;
-	
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
-    
+
 	rc = tls_bt_deinit();
 	rc = tls_bt_deinit();
 
 
     if((rc != 0) && (rc != BLE_HS_EALREADY))
     if((rc != 0) && (rc != BLE_HS_EALREADY))
@@ -285,7 +285,7 @@ int tls_at_bt_destroy()
  * Called                        1) AT cmd; 2)demo show;
  * Called                        1) AT cmd; 2)demo show;
  *
  *
  * @param type              0: advertise stop; 1: adv_ind; 2: adv_nonconn_ind;
  * @param type              0: advertise stop; 1: adv_ind; 2: adv_nonconn_ind;
- *                                  
+ *
  *
  *
  * @return                      0 on success; nonzero on failure.
  * @return                      0 on success; nonzero on failure.
  */
  */
@@ -294,12 +294,12 @@ int tls_ble_demo_adv(uint8_t type)
 {
 {
     int rc = 0;
     int rc = 0;
     TLS_BT_APPL_TRACE_DEBUG("### %s type=%d\r\n", __FUNCTION__, type);
     TLS_BT_APPL_TRACE_DEBUG("### %s type=%d\r\n", __FUNCTION__, type);
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
-    }    
+    }
     if(type)
     if(type)
     {
     {
         uint8_t bt_mac[6] = {0};
         uint8_t bt_mac[6] = {0};
@@ -308,7 +308,7 @@ int tls_ble_demo_adv(uint8_t type)
                0x02,0x01,0x05,
                0x02,0x01,0x05,
                0x03,0x19,0xc1, 0x03};
                0x03,0x19,0xc1, 0x03};
         extern int tls_get_bt_mac_addr(uint8_t *mac);
         extern int tls_get_bt_mac_addr(uint8_t *mac);
-        
+
         tls_get_bt_mac_addr(bt_mac);
         tls_get_bt_mac_addr(bt_mac);
         sprintf(adv_data+5,"%02X:%02X:%02X",bt_mac[3], bt_mac[4], bt_mac[5]);
         sprintf(adv_data+5,"%02X:%02X:%02X",bt_mac[3], bt_mac[4], bt_mac[5]);
         adv_data[13] = 0x02;  //byte 13 was overwritten to zero by sprintf; recover it;
         adv_data[13] = 0x02;  //byte 13 was overwritten to zero by sprintf; recover it;
@@ -362,25 +362,25 @@ ble_gap_evt_cb(struct ble_gap_event *event, void *arg)
  * Called                        1) AT cmd; 2)demo show;
  * Called                        1) AT cmd; 2)demo show;
  *
  *
  * @param type              0: scan stop; 1: scan start, default passive;
  * @param type              0: scan stop; 1: scan start, default passive;
- *                                  
+ *
  *
  *
  * @return                      0 on success; nonzero on failure.
  * @return                      0 on success; nonzero on failure.
  */
  */
 int tls_ble_demo_scan(uint8_t type)
 int tls_ble_demo_scan(uint8_t type)
 {
 {
     int rc;
     int rc;
-    
+
     TLS_BT_APPL_TRACE_DEBUG("### %s type=%d\r\n", __FUNCTION__, type);
     TLS_BT_APPL_TRACE_DEBUG("### %s type=%d\r\n", __FUNCTION__, type);
-    
+
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         TLS_BT_APPL_TRACE_ERROR("%s failed rc=%s\r\n", __FUNCTION__, tls_bt_rc_2_str(BLE_HS_EDISABLED));
         return BLE_HS_EDISABLED;
         return BLE_HS_EDISABLED;
-    }    
+    }
     if(type)
     if(type)
     {
     {
         tls_ble_register_gap_evt(WM_BLE_GAP_EVENT_DISC|WM_BLE_GAP_EVENT_DISC_COMPLETE, ble_gap_evt_cb);
         tls_ble_register_gap_evt(WM_BLE_GAP_EVENT_DISC|WM_BLE_GAP_EVENT_DISC_COMPLETE, ble_gap_evt_cb);
-        rc = tls_ble_gap_scan(WM_BLE_SCAN_PASSIVE, false);    
+        rc = tls_ble_gap_scan(WM_BLE_SCAN_PASSIVE, false);
     }else
     }else
     {
     {
         rc = tls_ble_gap_scan(WM_BLE_SCAN_STOP, false);
         rc = tls_ble_gap_scan(WM_BLE_SCAN_STOP, false);
@@ -392,45 +392,45 @@ int tls_ble_demo_scan(uint8_t type)
 
 
 
 
 /*
 /*
-*bluetooth api demo 
+*bluetooth api demo
 */
 */
 int demo_bt_enable()
 int demo_bt_enable()
 {
 {
 	int rc;
 	int rc;
     uint8_t uart_no = 0xFF;
     uint8_t uart_no = 0xFF;
-    
+
 	tls_appl_trace_level = TLS_BT_LOG_VERBOSE;
 	tls_appl_trace_level = TLS_BT_LOG_VERBOSE;
-    
+
     if(bt_adapter_state == WM_BT_STATE_ON)
     if(bt_adapter_state == WM_BT_STATE_ON)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bt system enable already"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bt system enable already");
        return TLS_BT_STATUS_SUCCESS;
        return TLS_BT_STATUS_SUCCESS;
-    }    
-	
+    }
+
 	TLS_BT_APPL_TRACE_DEBUG("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, tls_appl_trace_level);
 	TLS_BT_APPL_TRACE_DEBUG("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, tls_appl_trace_level);
 
 
     rc = tls_bt_init(uart_no);
     rc = tls_bt_init(uart_no);
-    
+
 	if((rc != 0) &&(rc != BLE_HS_EALREADY) )
 	if((rc != 0) &&(rc != BLE_HS_EALREADY) )
 	{
 	{
 		TLS_BT_APPL_TRACE_ERROR("demo_bt_enable, ret:%s,%d\r\n", tls_bt_rc_2_str(rc),rc);
 		TLS_BT_APPL_TRACE_ERROR("demo_bt_enable, ret:%s,%d\r\n", tls_bt_rc_2_str(rc),rc);
 	}
 	}
 
 
-	return rc;  
+	return rc;
 }
 }
 
 
 int demo_bt_destroy()
 int demo_bt_destroy()
 {
 {
 	int rc;
 	int rc;
-	
+
 	TLS_BT_APPL_TRACE_DEBUG("bt system destroy\r\n");
 	TLS_BT_APPL_TRACE_DEBUG("bt system destroy\r\n");
 
 
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bt system destroyed already"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bt system destroyed already");
        return TLS_BT_STATUS_SUCCESS;
        return TLS_BT_STATUS_SUCCESS;
     }
     }
-    
+
 	rc = tls_bt_deinit();
 	rc = tls_bt_deinit();
 
 
     if((rc != 0) && (rc != BLE_HS_EALREADY))
     if((rc != 0) && (rc != BLE_HS_EALREADY))
@@ -445,9 +445,9 @@ int demo_ble_server_on()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }   
+    }
     tls_ble_server_demo_api_init(NULL);
     tls_ble_server_demo_api_init(NULL);
     return 0;
     return 0;
 }
 }
@@ -455,9 +455,9 @@ int demo_ble_server_off()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n");
        return -1;
        return -1;
-    } 
+    }
 
 
     tls_ble_server_demo_api_deinit();
     tls_ble_server_demo_api_deinit();
 
 
@@ -467,19 +467,19 @@ int demo_ble_client_on()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }   
-    tls_ble_client_demo_api_init(NULL); 
+    }
+    tls_ble_client_demo_api_init(NULL);
     return 0;
     return 0;
 }
 }
 int demo_ble_client_off()
 int demo_ble_client_off()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n");
        return -1;
        return -1;
-    } 
+    }
 
 
     tls_ble_client_demo_api_deinit();
     tls_ble_client_demo_api_deinit();
 
 
@@ -488,7 +488,7 @@ int demo_ble_client_off()
 
 
 int demo_ble_uart_server_on(uint8_t uart_no)
 int demo_ble_uart_server_on(uint8_t uart_no)
 {
 {
-    return tls_ble_uart_init(BLE_UART_SERVER_MODE, uart_no, NULL);    
+    return tls_ble_uart_init(BLE_UART_SERVER_MODE, uart_no, NULL);
 }
 }
 
 
 int demo_ble_uart_server_off()
 int demo_ble_uart_server_off()
@@ -497,12 +497,12 @@ int demo_ble_uart_server_off()
 }
 }
 int demo_ble_uart_client_on(uint8_t uart_no)
 int demo_ble_uart_client_on(uint8_t uart_no)
 {
 {
-    return tls_ble_uart_init(BLE_UART_CLIENT_MODE, uart_no, NULL); 
+    return tls_ble_uart_init(BLE_UART_CLIENT_MODE, uart_no, NULL);
 }
 }
 
 
 int demo_ble_uart_client_off()
 int demo_ble_uart_client_off()
 {
 {
-    return tls_ble_uart_deinit(BLE_UART_CLIENT_MODE, 0xFF);   
+    return tls_ble_uart_deinit(BLE_UART_CLIENT_MODE, 0xFF);
 }
 }
 int demo_ble_adv(uint8_t type)
 int demo_ble_adv(uint8_t type)
 {
 {

+ 13 - 13
src/app/btapp/wm_ble_gap.c

@@ -76,7 +76,7 @@ static void tls_ble_dm_event_handler(tls_ble_dm_evt_t evt, tls_ble_dm_msg_t *msg
 			{
 			{
 				report_evt_t *report_evt = NULL;
 				report_evt_t *report_evt = NULL;
                 report_evt_t *report_evt_next = NULL;
                 report_evt_t *report_evt_next = NULL;
-				cpu_sr = tls_os_set_critical();	
+				cpu_sr = tls_os_set_critical();
                 if(!dl_list_empty(&report_evt_list.list))
                 if(!dl_list_empty(&report_evt_list.list))
                 {
                 {
     				dl_list_for_each_safe(report_evt,report_evt_next, &report_evt_list.list, report_evt_t, list)
     				dl_list_for_each_safe(report_evt,report_evt_next, &report_evt_list.list, report_evt_t, list)
@@ -90,7 +90,7 @@ static void tls_ble_dm_event_handler(tls_ble_dm_evt_t evt, tls_ble_dm_msg_t *msg
     				}
     				}
                 }
                 }
 				tls_os_release_critical(cpu_sr);
 				tls_os_release_critical(cpu_sr);
-				
+
 				break;
 				break;
 			}
 			}
 
 
@@ -100,7 +100,7 @@ static void tls_ble_dm_event_handler(tls_ble_dm_evt_t evt, tls_ble_dm_msg_t *msg
 	}
 	}
 }
 }
 
 
-int tls_ble_gap_init()
+int tls_ble_gap_init(char * name)
 {
 {
 	dl_list_init(&report_evt_list.list);
 	dl_list_init(&report_evt_list.list);
 	return tls_ble_dm_init(tls_ble_dm_event_handler);
 	return tls_ble_dm_init(tls_ble_dm_event_handler);
@@ -111,12 +111,12 @@ int tls_ble_gap_deinit()
 	uint32_t cpu_sr;
 	uint32_t cpu_sr;
 
 
 	report_evt_t *evt = NULL;
 	report_evt_t *evt = NULL;
-	report_evt_t *evt_next = NULL;	
+	report_evt_t *evt_next = NULL;
 
 
 	if(dl_list_empty(&report_evt_list.list))
 	if(dl_list_empty(&report_evt_list.list))
 		return TLS_BT_STATUS_SUCCESS;
 		return TLS_BT_STATUS_SUCCESS;
-	
-	cpu_sr = tls_os_set_critical();	
+
+	cpu_sr = tls_os_set_critical();
 
 
 	dl_list_for_each_safe(evt, evt_next,&report_evt_list.list, report_evt_t, list)
 	dl_list_for_each_safe(evt, evt_next,&report_evt_list.list, report_evt_t, list)
 	{
 	{
@@ -173,7 +173,7 @@ int tls_ble_register_report_evt(tls_ble_dm_evt_t rpt_evt,  tls_ble_dm_callback_t
     cpu_sr = tls_os_set_critical();
     cpu_sr = tls_os_set_critical();
     dl_list_add_tail(&report_evt_list.list, &evt->list);
     dl_list_add_tail(&report_evt_list.list, &evt->list);
     tls_os_release_critical(cpu_sr);
     tls_os_release_critical(cpu_sr);
-	
+
 	return TLS_BT_STATUS_SUCCESS;
 	return TLS_BT_STATUS_SUCCESS;
 
 
 }
 }
@@ -183,7 +183,7 @@ int tls_ble_deregister_report_evt(tls_ble_dm_evt_t rpt_evt,  tls_ble_dm_callback
 	report_evt_t *evt = NULL;
 	report_evt_t *evt = NULL;
 	report_evt_t *evt_next = NULL;
 	report_evt_t *evt_next = NULL;
 
 
-	cpu_sr = tls_os_set_critical();	
+	cpu_sr = tls_os_set_critical();
     if(!dl_list_empty(&report_evt_list.list))
     if(!dl_list_empty(&report_evt_list.list))
     {
     {
     	dl_list_for_each_safe(evt,evt_next, &report_evt_list.list, report_evt_t, list)
     	dl_list_for_each_safe(evt,evt_next, &report_evt_list.list, report_evt_t, list)
@@ -200,11 +200,11 @@ int tls_ble_deregister_report_evt(tls_ble_dm_evt_t rpt_evt,  tls_ble_dm_callback
                     evt = NULL;
                     evt = NULL;
     			}
     			}
     		}
     		}
-            cpu_sr = tls_os_set_critical();	
+            cpu_sr = tls_os_set_critical();
     	}
     	}
     }
     }
 	tls_os_release_critical(cpu_sr);
 	tls_os_release_critical(cpu_sr);
-	
+
 	return TLS_BT_STATUS_SUCCESS;
 	return TLS_BT_STATUS_SUCCESS;
 }
 }
 
 
@@ -217,13 +217,13 @@ int tls_ble_gap_set_name(const char * dev_name, uint8_t update_flash)
     {
     {
         return TLS_BT_STATUS_PARM_INVALID;
         return TLS_BT_STATUS_PARM_INVALID;
     }
     }
-    
+
 	prop.type = WM_BT_PROPERTY_BDNAME;
 	prop.type = WM_BT_PROPERTY_BDNAME;
 	prop.len = strlen(dev_name);     ////name length;
 	prop.len = strlen(dev_name);     ////name length;
     prop.val = (void*)dev_name;  ////name value;
     prop.val = (void*)dev_name;  ////name value;
-           
+
 	ret = tls_bt_set_adapter_property(&prop, update_flash);
 	ret = tls_bt_set_adapter_property(&prop, update_flash);
 
 
-	return ret;    
+	return ret;
 }
 }
 #endif
 #endif

+ 1 - 1
src/app/btapp/wm_ble_gap.h

@@ -2,7 +2,7 @@
 #define __WM_BLE_DM_H__
 #define __WM_BLE_DM_H__
 #include "wm_bt_def.h"
 #include "wm_bt_def.h"
 /*Init function, register an device manager from btif_gatt*/
 /*Init function, register an device manager from btif_gatt*/
-int tls_ble_gap_init();
+int tls_ble_gap_init(char * name);
 int tls_ble_gap_deinit();
 int tls_ble_gap_deinit();
 
 
 int tls_ble_register_report_evt(tls_ble_dm_evt_t rpt_evt,  tls_ble_dm_callback_t rpt_callback);
 int tls_ble_register_report_evt(tls_ble_dm_evt_t rpt_evt,  tls_ble_dm_callback_t rpt_callback);

+ 97 - 97
src/app/btapp/wm_bt_app.c

@@ -34,7 +34,7 @@
 
 
 #if (WM_BTA_HFP_HSP_INCLUDED == CFG_ON)
 #if (WM_BTA_HFP_HSP_INCLUDED == CFG_ON)
 	#include "wm_hfp_hsp_client.h"
 	#include "wm_hfp_hsp_client.h"
-#endif 
+#endif
 
 
 #if (WM_BTA_SPPS_INCLUDED == CFG_ON)
 #if (WM_BTA_SPPS_INCLUDED == CFG_ON)
     #include "wm_bt_spp_server.h"
     #include "wm_bt_spp_server.h"
@@ -97,9 +97,9 @@ void app_adapter_state_changed_callback(tls_bt_state_t status)
     {
     {
     	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
     	TLS_BT_APPL_TRACE_VERBOSE("init base application\r\n");
         /* those funtions should be called basiclly*/
         /* those funtions should be called basiclly*/
-    	tls_ble_gap_init();
+    	tls_ble_gap_init(NULL);
 		tls_ble_client_init();
 		tls_ble_client_init();
-    	tls_ble_server_init(); 
+    	tls_ble_server_init();
 
 
 		//at here , user run their own applications;
 		//at here , user run their own applications;
         //application_run();
         //application_run();
@@ -123,15 +123,15 @@ void app_adapter_state_changed_callback(tls_bt_state_t status)
     #if (WM_BT_INCLUDED == CFG_ON)
     #if (WM_BT_INCLUDED == CFG_ON)
     if(status == WM_BT_STATE_ON)
     if(status == WM_BT_STATE_ON)
     {
     {
-        
+
         /*class bluetooth application will be enabled by user*/
         /*class bluetooth application will be enabled by user*/
         //demo_bt_app_on();
         //demo_bt_app_on();
     }else
     }else
     {
     {
-        
+
     }
     }
     #endif
     #endif
-	
+
 	/*Notify at level application, if registered*/
 	/*Notify at level application, if registered*/
 	if(tls_bt_host_callback_at_ptr)
 	if(tls_bt_host_callback_at_ptr)
 	{
 	{
@@ -185,14 +185,14 @@ void app_adapter_properties_callback(tls_bt_status_t status,
             p_value = (uint8_t*)properties[i].val;
             p_value = (uint8_t*)properties[i].val;
             switch(p_value[0])
             switch(p_value[0])
             {
             {
-            
+
                 case 0x30:TLS_BT_APPL_TRACE_DEBUG("\t\tBT_SCAN_MODE_NONE\r\n");break;
                 case 0x30:TLS_BT_APPL_TRACE_DEBUG("\t\tBT_SCAN_MODE_NONE\r\n");break;
                 case 0x31:TLS_BT_APPL_TRACE_DEBUG("\t\BT_SCAN_MODE_CONNECTABLE\r\n");break;
                 case 0x31:TLS_BT_APPL_TRACE_DEBUG("\t\BT_SCAN_MODE_CONNECTABLE\r\n");break;
                 case 0x32:TLS_BT_APPL_TRACE_DEBUG("\t\BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE\r\n");break;
                 case 0x32:TLS_BT_APPL_TRACE_DEBUG("\t\BT_SCAN_MODE_CONNECTABLE_DISCOVERABLE\r\n");break;
             }
             }
         }
         }
     }
     }
-    
+
 }
 }
 #ifndef MIN
 #ifndef MIN
 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
 #define MIN(a,b) (((a) < (b)) ? (a) : (b))
@@ -223,14 +223,14 @@ void app_device_found_callback(int num_properties, tls_bt_property_t *properties
     tls_bt_addr_t dev_addr = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
     tls_bt_addr_t dev_addr = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};
     char dev_name[64] = {0};
     char dev_name[64] = {0};
     int dev_name_len = 0;
     int dev_name_len = 0;
-    
+
     //TLS_BT_APPL_TRACE_DEBUG("app_device_found_callback\r\n");
     //TLS_BT_APPL_TRACE_DEBUG("app_device_found_callback\r\n");
-    
+
     for(i=0; i<num_properties; i++)
     for(i=0; i<num_properties; i++)
     {
     {
         //TLS_BT_APPL_TRACE_DEBUG("\t%s:", dump_property_type(properties[i].type));
         //TLS_BT_APPL_TRACE_DEBUG("\t%s:", dump_property_type(properties[i].type));
         p_value = (uint8_t*)properties[i].val;
         p_value = (uint8_t*)properties[i].val;
-        
+
         switch(properties[i].type)
         switch(properties[i].type)
         {
         {
             case WM_BT_PROPERTY_BDADDR:
             case WM_BT_PROPERTY_BDADDR:
@@ -282,17 +282,17 @@ static void app_flush_bonded_params(uint8_t id)
 void app_acl_state_changed_callback(tls_bt_status_t status, tls_bt_addr_t *remote_bd_addr,
 void app_acl_state_changed_callback(tls_bt_status_t status, tls_bt_addr_t *remote_bd_addr,
                                     tls_bt_acl_state_t state, uint8_t link_type)
                                     tls_bt_acl_state_t state, uint8_t link_type)
 {
 {
-    TLS_BT_APPL_TRACE_DEBUG("app_acl_state_changed_callback is called,[%02x:%02x:%02x:%02x:%02x:%02x],type=%s, state=(%s)\r\n", 
+    TLS_BT_APPL_TRACE_DEBUG("app_acl_state_changed_callback is called,[%02x:%02x:%02x:%02x:%02x:%02x],type=%s, state=(%s)\r\n",
         remote_bd_addr->address[0],remote_bd_addr->address[1],remote_bd_addr->address[2],remote_bd_addr->address[3],
         remote_bd_addr->address[0],remote_bd_addr->address[1],remote_bd_addr->address[2],remote_bd_addr->address[3],
         remote_bd_addr->address[4],remote_bd_addr->address[5],(link_type==1)?"BR_EDR":"BLE",(state)?"DISCONNECTED":"CONNECTED");
         remote_bd_addr->address[4],remote_bd_addr->address[5],(link_type==1)?"BR_EDR":"BLE",(state)?"DISCONNECTED":"CONNECTED");
     if((state == WM_BT_ACL_STATE_CONNECTED) && (link_type == 1))
     if((state == WM_BT_ACL_STATE_CONNECTED) && (link_type == 1))
     {
     {
-       //demo_bt_scan_mode(0); 
+       //demo_bt_scan_mode(0);
        //TODO , flush bonding information to flash
        //TODO , flush bonding information to flash
        //tls_dm_start_timer(tls_dm_get_timer_id(),3000,app_flush_bonded_params);
        //tls_dm_start_timer(tls_dm_get_timer_id(),3000,app_flush_bonded_params);
     }else
     }else
     {
     {
-       //demo_bt_scan_mode(2);  
+       //demo_bt_scan_mode(2);
     }
     }
 }
 }
 void app_dut_mode_recv_callback(uint16_t opcode, uint8_t *buf, uint8_t len)
 void app_dut_mode_recv_callback(uint16_t opcode, uint8_t *buf, uint8_t len)
@@ -312,7 +312,7 @@ void app_ssp_request_callback(tls_bt_addr_t *remote_bd_addr,
                               uint32_t pass_key)
                               uint32_t pass_key)
 {
 {
     TLS_BT_APPL_TRACE_DEBUG("app_ssp_request_callback, attention...(%s) cod=0x%08x, ssp_variant=%d, pass_key=0x%08x\r\n", bd_name->name, cod, pairing_variant, pass_key);
     TLS_BT_APPL_TRACE_DEBUG("app_ssp_request_callback, attention...(%s) cod=0x%08x, ssp_variant=%d, pass_key=0x%08x\r\n", bd_name->name, cod, pairing_variant, pass_key);
-	
+
 	tls_bt_ssp_reply(remote_bd_addr, pairing_variant, 1, pass_key);
 	tls_bt_ssp_reply(remote_bd_addr, pairing_variant, 1, pass_key);
 }
 }
 
 
@@ -337,7 +337,7 @@ static void tls_bt_host_callback_handler(tls_bt_host_evt_t evt, tls_bt_host_msg_
 			app_adapter_properties_callback(msg->adapter_prop.status, msg->adapter_prop.num_properties, msg->adapter_prop.properties);
 			app_adapter_properties_callback(msg->adapter_prop.status, msg->adapter_prop.num_properties, msg->adapter_prop.properties);
 			break;
 			break;
 		case WM_BT_RMT_DEVICE_PROP_EVT:
 		case WM_BT_RMT_DEVICE_PROP_EVT:
-			app_remote_device_properties_callback(msg->remote_device_prop.status, msg->remote_device_prop.address, 
+			app_remote_device_properties_callback(msg->remote_device_prop.status, msg->remote_device_prop.address,
 									msg->remote_device_prop.num_properties, msg->remote_device_prop.properties);
 									msg->remote_device_prop.num_properties, msg->remote_device_prop.properties);
 			break;
 			break;
 	   case WM_BT_DEVICE_FOUND_EVT:
 	   case WM_BT_DEVICE_FOUND_EVT:
@@ -362,12 +362,12 @@ static void tls_bt_host_callback_handler(tls_bt_host_evt_t evt, tls_bt_host_msg_
 			app_pin_request_callback(msg->pin_request.remote_bd_addr, msg->pin_request.bd_name, msg->pin_request.cod, msg->pin_request.min_16_digit);
 			app_pin_request_callback(msg->pin_request.remote_bd_addr, msg->pin_request.bd_name, msg->pin_request.cod, msg->pin_request.min_16_digit);
 			break;
 			break;
 	}
 	}
-    
+
 #if (WM_BT_INCLUDED == CFG_ON)
 #if (WM_BT_INCLUDED == CFG_ON)
     //Notify applications who cares those event;
     //Notify applications who cares those event;
     wm_bt_notify_evt_report(evt, msg);
     wm_bt_notify_evt_report(evt, msg);
 #endif
 #endif
-	
+
 }
 }
 
 
 
 
@@ -387,8 +387,8 @@ int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level, tls_bt_host_call
 	bt_enabled_by_at = 1;
 	bt_enabled_by_at = 1;
 	tls_appl_trace_level = log_level;
 	tls_appl_trace_level = log_level;
     tls_bt_hci_if_t hci_if;
     tls_bt_hci_if_t hci_if;
-	
-	if(host_enabled_by_at) 
+
+	if(host_enabled_by_at)
 	{
 	{
 		TLS_BT_APPL_TRACE_WARNING("bt host stack enabled by at+btcfghost=1, please do at+btcfghost=0, then continue...\r\n");
 		TLS_BT_APPL_TRACE_WARNING("bt host stack enabled by at+btcfghost=1, please do at+btcfghost=0, then continue...\r\n");
 		return TLS_BT_STATUS_UNSUPPORTED;
 		return TLS_BT_STATUS_UNSUPPORTED;
@@ -401,7 +401,7 @@ int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level, tls_bt_host_call
 
 
 
 
 	tls_bt_host_callback_at_ptr = at_callback_ptr;
 	tls_bt_host_callback_at_ptr = at_callback_ptr;
-	
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, log_level);
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, log_level);
 
 
 	hci_if.uart_index = uart_no;
 	hci_if.uart_index = uart_no;
@@ -411,7 +411,7 @@ int tls_at_bt_enable(int uart_no, tls_bt_log_level_t log_level, tls_bt_host_call
 	hci_if.verify_bit = 0;
 	hci_if.verify_bit = 0;
 #if (WM_BT_INCLUDED == CFG_ON)
 #if (WM_BT_INCLUDED == CFG_ON)
     wm_bt_init_evt_report_list();
     wm_bt_init_evt_report_list();
-#endif	
+#endif
 	status = tls_bt_enable(tls_bt_host_callback_handler, &hci_if, TLS_BT_LOG_NONE);
 	status = tls_bt_enable(tls_bt_host_callback_handler, &hci_if, TLS_BT_LOG_NONE);
 	if((status != TLS_BT_STATUS_SUCCESS) &&(status != TLS_BT_STATUS_DONE) )
 	if((status != TLS_BT_STATUS_SUCCESS) &&(status != TLS_BT_STATUS_DONE) )
 	{
 	{
@@ -435,7 +435,7 @@ int tls_at_bt_destroy()
 		TLS_BT_APPL_TRACE_WARNING("bt system already destroyed\r\n");
 		TLS_BT_APPL_TRACE_WARNING("bt system already destroyed\r\n");
 		return TLS_BT_STATUS_DONE;
 		return TLS_BT_STATUS_DONE;
 	}
 	}
-	
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
 	status = tls_bt_disable();
 	status = tls_bt_disable();
 	if((status != TLS_BT_STATUS_SUCCESS) && (status != TLS_BT_STATUS_DONE))
 	if((status != TLS_BT_STATUS_SUCCESS) && (status != TLS_BT_STATUS_DONE))
@@ -444,7 +444,7 @@ int tls_at_bt_destroy()
 	}
 	}
 
 
 
 
-	
+
 	return TLS_BT_STATUS_SUCCESS;
 	return TLS_BT_STATUS_SUCCESS;
 }
 }
 
 
@@ -458,17 +458,17 @@ int tls_at_bt_cleanup_host()
 	{
 	{
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_host_cleanup, ret:%s,%d\r\n", tls_bt_status_2_str(status),status);
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_host_cleanup, ret:%s,%d\r\n", tls_bt_status_2_str(status),status);
 	}
 	}
-#if (WM_BT_INCLUDED == CFG_ON)    
+#if (WM_BT_INCLUDED == CFG_ON)
     wm_bt_deinit_evt_report_list();
     wm_bt_deinit_evt_report_list();
 #endif
 #endif
-    
+
 	return status;
 	return status;
 }
 }
 
 
 
 
 
 
 /*
 /*
-*bluetooth api demo 
+*bluetooth api demo
 */
 */
 int demo_bt_enable()
 int demo_bt_enable()
 {
 {
@@ -479,10 +479,10 @@ int demo_bt_enable()
 
 
     if(bt_adapter_state == WM_BT_STATE_ON)
     if(bt_adapter_state == WM_BT_STATE_ON)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bt system enabled already"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bt system enabled already");
        return TLS_BT_STATUS_SUCCESS;
        return TLS_BT_STATUS_SUCCESS;
     }
     }
-	
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, tls_appl_trace_level);
 	TLS_BT_APPL_TRACE_VERBOSE("bt system running, uart_no=%d, log_level=%d\r\n", uart_no, tls_appl_trace_level);
 
 
 	hci_if.uart_index = uart_no;
 	hci_if.uart_index = uart_no;
@@ -492,14 +492,14 @@ int demo_bt_enable()
 	hci_if.verify_bit = 0;
 	hci_if.verify_bit = 0;
 #if (WM_BT_INCLUDED == CFG_ON)
 #if (WM_BT_INCLUDED == CFG_ON)
     wm_bt_init_evt_report_list();
     wm_bt_init_evt_report_list();
-#endif    
+#endif
 	status = tls_bt_enable(tls_bt_host_callback_handler, &hci_if, TLS_BT_LOG_NONE);
 	status = tls_bt_enable(tls_bt_host_callback_handler, &hci_if, TLS_BT_LOG_NONE);
 	if((status != TLS_BT_STATUS_SUCCESS) &&(status != TLS_BT_STATUS_DONE) )
 	if((status != TLS_BT_STATUS_SUCCESS) &&(status != TLS_BT_STATUS_DONE) )
 	{
 	{
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_enable, ret:%s,%d\r\n", tls_bt_status_2_str(status),status);
 		TLS_BT_APPL_TRACE_ERROR("tls_bt_enable, ret:%s,%d\r\n", tls_bt_status_2_str(status),status);
 	}
 	}
 
 
-	return status;   
+	return status;
 
 
 }
 }
 
 
@@ -507,14 +507,14 @@ int demo_bt_destroy()
 {
 {
 
 
 	tls_bt_status_t status;
 	tls_bt_status_t status;
-	
+
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
 	TLS_BT_APPL_TRACE_VERBOSE("bt system destroy\r\n");
 
 
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bt system destroyed already"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bt system destroyed already");
        return TLS_BT_STATUS_SUCCESS;
        return TLS_BT_STATUS_SUCCESS;
-    }    
+    }
 	status = tls_bt_disable();
 	status = tls_bt_disable();
 	if((status != TLS_BT_STATUS_SUCCESS) && (status != TLS_BT_STATUS_DONE))
 	if((status != TLS_BT_STATUS_SUCCESS) && (status != TLS_BT_STATUS_DONE))
 	{
 	{
@@ -537,7 +537,7 @@ int demo_bt_destroy()
 #if (WM_BT_INCLUDED == CFG_ON)
 #if (WM_BT_INCLUDED == CFG_ON)
     wm_bt_deinit_evt_report_list();
     wm_bt_deinit_evt_report_list();
 #endif
 #endif
-	return status;  
+	return status;
 }
 }
 
 
 #if (TLS_CONFIG_BLE == CFG_ON)
 #if (TLS_CONFIG_BLE == CFG_ON)
@@ -566,14 +566,14 @@ static uint8_t get_valid_adv_length_and_name(uint8_t *ptr, uint8_t *pname)
 		seg_len = ptr[ret];
 		seg_len = ptr[ret];
 		if(ret >=64) break; //sanity check;
 		if(ret >=64) break; //sanity check;
 	}
 	}
-	
+
 	return ret;
 	return ret;
 }
 }
 
 
 static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_data)
 static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_data)
 {
 {
     if((event != WM_BLE_DM_SCAN_RES_EVT) && (event != WM_BLE_DM_SCAN_RES_CMPL_EVT)) return;
     if((event != WM_BLE_DM_SCAN_RES_EVT) && (event != WM_BLE_DM_SCAN_RES_CMPL_EVT)) return;
-    
+
 #define BLE_SCAN_RESULT_LEN 256
 #define BLE_SCAN_RESULT_LEN 256
 
 
     int len = 0, i= 0;
     int len = 0, i= 0;
@@ -587,7 +587,7 @@ static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_
     }
     }
     switch(event)
     switch(event)
     {
     {
-       
+
         case WM_BLE_DM_SCAN_RES_EVT:
         case WM_BLE_DM_SCAN_RES_EVT:
             {
             {
                 tls_ble_dm_scan_res_msg_t *msg = (tls_ble_dm_scan_res_msg_t *)&p_data->dm_scan_result;
                 tls_ble_dm_scan_res_msg_t *msg = (tls_ble_dm_scan_res_msg_t *)&p_data->dm_scan_result;
@@ -602,7 +602,7 @@ static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_
                 	//printf("###warning(%d)###\r\n", valid_len);
                 	//printf("###warning(%d)###\r\n", valid_len);
                 	valid_len = 62;
                 	valid_len = 62;
                 }
                 }
-            	len = sprintf(buf, "%02X%02X%02X%02X%02X%02X,%d,", 
+            	len = sprintf(buf, "%02X%02X%02X%02X%02X%02X,%d,",
                               msg->address[0], msg->address[1], msg->address[2],
                               msg->address[0], msg->address[1], msg->address[2],
                               msg->address[3], msg->address[4], msg->address[5], msg->rssi);
                               msg->address[3], msg->address[4], msg->address[5], msg->rssi);
 
 
@@ -613,7 +613,7 @@ static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_
                 {
                 {
                 	len += sprintf(buf+len, "\"\",");
                 	len += sprintf(buf+len, "\"\",");
                 }
                 }
-                
+
                 for (i = 0; i < valid_len; i++)
                 for (i = 0; i < valid_len; i++)
                 {
                 {
                     len += sprintf(buf + len, "%02X", msg->value[i]);
                     len += sprintf(buf + len, "%02X", msg->value[i]);
@@ -624,22 +624,22 @@ static void demo_ble_scan_report_cb(tls_ble_dm_evt_t event, tls_ble_dm_msg_t *p_
                 TLS_BT_APPL_TRACE_VERBOSE("%s\r\n", buf);
                 TLS_BT_APPL_TRACE_VERBOSE("%s\r\n", buf);
 
 
             }
             }
-            break;  
+            break;
         case WM_BLE_DM_SCAN_RES_CMPL_EVT:
         case WM_BLE_DM_SCAN_RES_CMPL_EVT:
             {
             {
                 tls_ble_dm_scan_res_cmpl_msg_t *msg = (tls_ble_dm_scan_res_cmpl_msg_t *)&p_data->dm_scan_result_cmpl;
                 tls_ble_dm_scan_res_cmpl_msg_t *msg = (tls_ble_dm_scan_res_cmpl_msg_t *)&p_data->dm_scan_result_cmpl;
                 TLS_BT_APPL_TRACE_VERBOSE("scan ended, ret=%d\r\n", msg->num_responses);
                 TLS_BT_APPL_TRACE_VERBOSE("scan ended, ret=%d\r\n", msg->num_responses);
                 bt_adapter_scaning = 0;
                 bt_adapter_scaning = 0;
             }
             }
-            break;  
+            break;
         default:
         default:
             break;
             break;
     }
     }
-   
+
     if (buf)
     if (buf)
         tls_mem_free(buf);
         tls_mem_free(buf);
-	
-}    
+
+}
 int tls_ble_demo_scan(uint8_t start)
 int tls_ble_demo_scan(uint8_t start)
 {
 {
     tls_bt_status_t ret;
     tls_bt_status_t ret;
@@ -648,7 +648,7 @@ int tls_ble_demo_scan(uint8_t start)
     {
     {
         tls_ble_set_scan_param(0x40, 0x60, 0);
         tls_ble_set_scan_param(0x40, 0x60, 0);
         //tls_ble_set_scan_param(0x100, 0x100, 0);
         //tls_ble_set_scan_param(0x100, 0x100, 0);
-        
+
         ret = tls_ble_scan(TRUE);
         ret = tls_ble_scan(TRUE);
 
 
 		if(ret == TLS_BT_STATUS_SUCCESS)
 		if(ret == TLS_BT_STATUS_SUCCESS)
@@ -660,7 +660,7 @@ int tls_ble_demo_scan(uint8_t start)
     else
     else
     {
     {
         ret = tls_ble_scan(FALSE);
         ret = tls_ble_scan(FALSE);
-        
+
         if(ret == TLS_BT_STATUS_SUCCESS)
         if(ret == TLS_BT_STATUS_SUCCESS)
 		{
 		{
 		    //wait scan stop;
 		    //wait scan stop;
@@ -668,7 +668,7 @@ int tls_ble_demo_scan(uint8_t start)
             {
             {
                 tls_os_time_delay(500);
                 tls_os_time_delay(500);
             }
             }
-		    //unregister the callback 
+		    //unregister the callback
 			ret = tls_ble_deregister_report_evt(WM_BLE_DM_SCAN_RES_EVT|WM_BLE_DM_SCAN_RES_CMPL_EVT, demo_ble_scan_report_cb);
 			ret = tls_ble_deregister_report_evt(WM_BLE_DM_SCAN_RES_EVT|WM_BLE_DM_SCAN_RES_CMPL_EVT, demo_ble_scan_report_cb);
         }
         }
 
 
@@ -685,7 +685,7 @@ static void ble_scan_enable_cb(uint8_t triger_id)
 
 
 int demo_async_ble_scan(uint8_t start)
 int demo_async_ble_scan(uint8_t start)
 {
 {
-    tls_dm_evt_triger(start, ble_scan_enable_cb);      
+    tls_dm_evt_triger(start, ble_scan_enable_cb);
 }
 }
 
 
 static void ble_adv_enable_cb(uint8_t triger_id)
 static void ble_adv_enable_cb(uint8_t triger_id)
@@ -724,16 +724,16 @@ int tls_ble_demo_adv(uint8_t type)
         data.pure_data = true;       //only manufacture data is inclucded in the scan response payload
         data.pure_data = true;       //only manufacture data is inclucded in the scan response payload
         data.manufacturer_len = 13;   //configure payload length;
         data.manufacturer_len = 13;   //configure payload length;
         memcpy(data.manufacturer_data, scan_resp_data, 13);//copy payload ;
         memcpy(data.manufacturer_data, scan_resp_data, 13);//copy payload ;
-        
-    	tls_ble_set_adv_data(&data); //configure advertisement data; 
-#endif        
 
 
-        tls_ble_dm_adv_param_t adv_param;       
+    	tls_ble_set_adv_data(&data); //configure advertisement data;
+#endif
+
+        tls_ble_dm_adv_param_t adv_param;
         if(type == 1)
         if(type == 1)
         {
         {
             adv_param.adv_int_min = 0x64; //interval min;
             adv_param.adv_int_min = 0x64; //interval min;
             adv_param.adv_int_max = 0x64; //interval max;
             adv_param.adv_int_max = 0x64; //interval max;
-            
+
         }else
         }else
         {
         {
             adv_param.adv_int_min = 0xA0; //for nonconnectable advertisement, interval min is 0xA0;
             adv_param.adv_int_min = 0xA0; //for nonconnectable advertisement, interval min is 0xA0;
@@ -742,14 +742,14 @@ int tls_ble_demo_adv(uint8_t type)
 
 
         adv_param.dir_addr = NULL;    //directed address NULL;
         adv_param.dir_addr = NULL;    //directed address NULL;
         tls_ble_set_adv_param(&adv_param); //configure advertisement parameters;
         tls_ble_set_adv_param(&adv_param); //configure advertisement parameters;
-        
+
         /*enable advertisement*/
         /*enable advertisement*/
-    	tls_dm_evt_triger(type, ble_adv_enable_cb);        
+    	tls_dm_evt_triger(type, ble_adv_enable_cb);
     }else
     }else
     {
     {
         tls_ble_adv(0);
         tls_ble_adv(0);
     }
     }
-    
+
     return TLS_BT_STATUS_SUCCESS;
     return TLS_BT_STATUS_SUCCESS;
 }
 }
 
 
@@ -757,9 +757,9 @@ int demo_ble_server_on()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }   
+    }
     tls_ble_server_demo_api_init(NULL);
     tls_ble_server_demo_api_init(NULL);
     return 0;
     return 0;
 }
 }
@@ -767,9 +767,9 @@ int demo_ble_server_off()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n");
        return -1;
        return -1;
-    } 
+    }
 
 
     tls_ble_server_demo_api_deinit();
     tls_ble_server_demo_api_deinit();
 
 
@@ -779,19 +779,19 @@ int demo_ble_client_on()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }   
-    tls_ble_client_demo_api_init(NULL); 
+    }
+    tls_ble_client_demo_api_init(NULL);
     return 0;
     return 0;
 }
 }
 int demo_ble_client_off()
 int demo_ble_client_off()
 {
 {
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("bluetooth system stopped\r\n");
        return -1;
        return -1;
-    } 
+    }
 
 
     tls_ble_client_demo_api_deinit();
     tls_ble_client_demo_api_deinit();
 
 
@@ -800,7 +800,7 @@ int demo_ble_client_off()
 
 
 int demo_ble_uart_server_on(uint8_t uart_no)
 int demo_ble_uart_server_on(uint8_t uart_no)
 {
 {
-    return tls_ble_uart_init(BLE_UART_SERVER_MODE, uart_no, NULL);    
+    return tls_ble_uart_init(BLE_UART_SERVER_MODE, uart_no, NULL);
 }
 }
 
 
 int demo_ble_uart_server_off()
 int demo_ble_uart_server_off()
@@ -809,12 +809,12 @@ int demo_ble_uart_server_off()
 }
 }
 int demo_ble_uart_client_on(uint8_t uart_no)
 int demo_ble_uart_client_on(uint8_t uart_no)
 {
 {
-    return tls_ble_uart_init(BLE_UART_CLIENT_MODE, uart_no, NULL); 
+    return tls_ble_uart_init(BLE_UART_CLIENT_MODE, uart_no, NULL);
 }
 }
 
 
 int demo_ble_uart_client_off()
 int demo_ble_uart_client_off()
 {
 {
-    return tls_ble_uart_deinit(BLE_UART_CLIENT_MODE, 0xFF);   
+    return tls_ble_uart_deinit(BLE_UART_CLIENT_MODE, 0xFF);
 }
 }
 int demo_ble_adv(uint8_t type)
 int demo_ble_adv(uint8_t type)
 {
 {
@@ -836,9 +836,9 @@ int demo_bt_app_on()
 
 
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }  
+    }
 #if (WM_BTA_AV_SINK_INCLUDED == CFG_ON)
 #if (WM_BTA_AV_SINK_INCLUDED == CFG_ON)
     tls_bt_enable_a2dp_sink();
     tls_bt_enable_a2dp_sink();
 #endif
 #endif
@@ -850,7 +850,7 @@ int demo_bt_app_on()
 #if (WM_BTA_SPPS_INCLUDED == CFG_ON)
 #if (WM_BTA_SPPS_INCLUDED == CFG_ON)
     tls_bt_enable_spp_server();
     tls_bt_enable_spp_server();
 #endif
 #endif
- 
+
 	/*
 	/*
     	BT_SCAN_MODE_NONE,                     0
     	BT_SCAN_MODE_NONE,                     0
     	BT_SCAN_MODE_CONNECTABLE,              1
     	BT_SCAN_MODE_CONNECTABLE,              1
@@ -872,9 +872,9 @@ int demo_bt_app_off()
 
 
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }  
+    }
 #if (WM_BTA_AV_SINK_INCLUDED == CFG_ON)
 #if (WM_BTA_AV_SINK_INCLUDED == CFG_ON)
     tls_bt_disable_a2dp_sink();
     tls_bt_disable_a2dp_sink();
 #endif
 #endif
@@ -907,9 +907,9 @@ int demo_bt_scan_mode(int type)
 
 
     if(bt_adapter_state == WM_BT_STATE_OFF)
     if(bt_adapter_state == WM_BT_STATE_OFF)
     {
     {
-       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n"); 
+       TLS_BT_APPL_TRACE_VERBOSE("please enable bluetooth system first\r\n");
        return -1;
        return -1;
-    }  
+    }
 
 
 	/*
 	/*
     	BT_SCAN_MODE_NONE,                     0
     	BT_SCAN_MODE_NONE,                     0
@@ -924,13 +924,13 @@ int demo_bt_scan_mode(int type)
         btp.val = "2";
         btp.val = "2";
     }else if(type == 1)
     }else if(type == 1)
     {
     {
-       btp.val = "1"; 
+       btp.val = "1";
     }else
     }else
     {
     {
         btp.val = "0";
         btp.val = "0";
     }
     }
-    TLS_BT_APPL_TRACE_DEBUG("bt_scan_mode=%d\r\n", type); 
-	tls_bt_set_adapter_property(&btp, 0);    
+    TLS_BT_APPL_TRACE_DEBUG("bt_scan_mode=%d\r\n", type);
+	tls_bt_set_adapter_property(&btp, 0);
 }
 }
 
 
 int demo_bt_inquiry(int type)
 int demo_bt_inquiry(int type)
@@ -944,9 +944,9 @@ int demo_bt_inquiry(int type)
 void wm_bt_init_evt_report_list()
 void wm_bt_init_evt_report_list()
 {
 {
     /*check initialized or not*/
     /*check initialized or not*/
-    if(host_report_evt_list.list.next != NULL) 
+    if(host_report_evt_list.list.next != NULL)
         return;
         return;
-    
+
     dl_list_init(&host_report_evt_list.list);
     dl_list_init(&host_report_evt_list.list);
 }
 }
 void wm_bt_deinit_evt_report_list()
 void wm_bt_deinit_evt_report_list()
@@ -954,15 +954,15 @@ void wm_bt_deinit_evt_report_list()
   	uint32_t cpu_sr;
   	uint32_t cpu_sr;
 
 
 	host_report_evt_t *evt = NULL;
 	host_report_evt_t *evt = NULL;
-	host_report_evt_t *evt_next = NULL;	
+	host_report_evt_t *evt_next = NULL;
 
 
-    if(host_report_evt_list.list.next == NULL) 
+    if(host_report_evt_list.list.next == NULL)
         return;
         return;
-    
+
 	if(dl_list_empty(&host_report_evt_list.list))
 	if(dl_list_empty(&host_report_evt_list.list))
 		return ;
 		return ;
-	
-	cpu_sr = tls_os_set_critical();	
+
+	cpu_sr = tls_os_set_critical();
 
 
 	dl_list_for_each_safe(evt, evt_next,&host_report_evt_list.list, host_report_evt_t, list)
 	dl_list_for_each_safe(evt, evt_next,&host_report_evt_list.list, host_report_evt_t, list)
 	{
 	{
@@ -970,18 +970,18 @@ void wm_bt_deinit_evt_report_list()
 		tls_mem_free(evt);
 		tls_mem_free(evt);
 	}
 	}
 
 
-	tls_os_release_critical(cpu_sr);  
+	tls_os_release_critical(cpu_sr);
 }
 }
 void wm_bt_notify_evt_report(tls_bt_host_evt_t evt, tls_bt_host_msg_t *msg)
 void wm_bt_notify_evt_report(tls_bt_host_evt_t evt, tls_bt_host_msg_t *msg)
 {
 {
-    uint32_t cpu_sr;			
+    uint32_t cpu_sr;
     host_report_evt_t *report_evt = NULL;
     host_report_evt_t *report_evt = NULL;
     host_report_evt_t *report_evt_next = NULL;
     host_report_evt_t *report_evt_next = NULL;
 
 
     if(host_report_evt_list.list.next == NULL)
     if(host_report_evt_list.list.next == NULL)
         return;
         return;
-    
-    cpu_sr = tls_os_set_critical();	
+
+    cpu_sr = tls_os_set_critical();
     if(!dl_list_empty(&host_report_evt_list.list))
     if(!dl_list_empty(&host_report_evt_list.list))
     {
     {
     	dl_list_for_each_safe(report_evt,report_evt_next, &host_report_evt_list.list, host_report_evt_t, list)
     	dl_list_for_each_safe(report_evt,report_evt_next, &host_report_evt_list.list, host_report_evt_t, list)
@@ -995,13 +995,13 @@ void wm_bt_notify_evt_report(tls_bt_host_evt_t evt, tls_bt_host_msg_t *msg)
     	}
     	}
     }
     }
     tls_os_release_critical(cpu_sr);
     tls_os_release_critical(cpu_sr);
-	
+
 }
 }
 tls_bt_status_t wm_bt_register_report_evt(tls_bt_host_evt_t rpt_evt,  tls_bt_host_callback_t rpt_callback)
 tls_bt_status_t wm_bt_register_report_evt(tls_bt_host_evt_t rpt_evt,  tls_bt_host_callback_t rpt_callback)
 {
 {
 	uint32_t cpu_sr;
 	uint32_t cpu_sr;
 	host_report_evt_t *evt = NULL;
 	host_report_evt_t *evt = NULL;
-    
+
     if(host_report_evt_list.list.next == NULL)
     if(host_report_evt_list.list.next == NULL)
         return;
         return;
     cpu_sr = tls_os_set_critical();
     cpu_sr = tls_os_set_critical();
@@ -1038,7 +1038,7 @@ tls_bt_status_t wm_bt_register_report_evt(tls_bt_host_evt_t rpt_evt,  tls_bt_hos
     cpu_sr = tls_os_set_critical();
     cpu_sr = tls_os_set_critical();
     dl_list_add_tail(&host_report_evt_list.list, &evt->list);
     dl_list_add_tail(&host_report_evt_list.list, &evt->list);
     tls_os_release_critical(cpu_sr);
     tls_os_release_critical(cpu_sr);
-	
+
 	return TLS_BT_STATUS_SUCCESS;
 	return TLS_BT_STATUS_SUCCESS;
 
 
 }
 }
@@ -1047,11 +1047,11 @@ tls_bt_status_t wm_bt_deregister_report_evt(tls_bt_host_evt_t rpt_evt,  tls_bt_h
 	uint32_t cpu_sr;
 	uint32_t cpu_sr;
 	host_report_evt_t *evt = NULL;
 	host_report_evt_t *evt = NULL;
 	host_report_evt_t *evt_next = NULL;
 	host_report_evt_t *evt_next = NULL;
-    
+
     if(host_report_evt_list.list.next == NULL)
     if(host_report_evt_list.list.next == NULL)
         return;
         return;
 
 
-	cpu_sr = tls_os_set_critical();	
+	cpu_sr = tls_os_set_critical();
     if(!dl_list_empty(&host_report_evt_list.list))
     if(!dl_list_empty(&host_report_evt_list.list))
     {
     {
     	dl_list_for_each_safe(evt,evt_next, &host_report_evt_list.list, host_report_evt_t, list)
     	dl_list_for_each_safe(evt,evt_next, &host_report_evt_list.list, host_report_evt_t, list)
@@ -1068,11 +1068,11 @@ tls_bt_status_t wm_bt_deregister_report_evt(tls_bt_host_evt_t rpt_evt,  tls_bt_h
                     evt = NULL;
                     evt = NULL;
     			}
     			}
     		}
     		}
-            cpu_sr = tls_os_set_critical();	
+            cpu_sr = tls_os_set_critical();
     	}
     	}
     }
     }
 	tls_os_release_critical(cpu_sr);
 	tls_os_release_critical(cpu_sr);
-	
+
 	return TLS_BT_STATUS_SUCCESS;
 	return TLS_BT_STATUS_SUCCESS;
 }
 }